YunoHost-Apps / jellyfin_ynh

Jellyfin package for YunoHost
https://jellyfin.org/
GNU General Public License v3.0
26 stars 24 forks source link

PLEASE TEST: Upgrade Jellyfin to v10.9 #154

Closed selfhoster1312 closed 2 months ago

selfhoster1312 commented 3 months ago

New Jellyfin version ! Still a few TODOs. See next comment.

Many new features. Also fixes automatic server discovery (#141).

Some warnings i don't know what to do about:

Attention : File /etc/jellyfin/network.xml has been manually modified since the installation or last upgrade. So it has been duplicated in /var/cache/yunohost/appconfbackup//etc/jellyfin/network.xml.backup.20240512.205528
Attention : --- /var/cache/yunohost/appconfbackup//etc/jellyfin/network.xml.backup.20240512.205528      2024-05-12 20:55:00.687566755 +0200
Attention : +++ /etc/jellyfin/network.xml       2024-05-12 20:55:28.335544109 +0200
Attention : @@ -2,35 +2,14 @@
Attention :  <NetworkConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
Attention :    <RequireHttps>false</RequireHttps>
Attention :    <BaseUrl>/media</BaseUrl>
Attention : -  <PublicHttpsPort>8920</PublicHttpsPort>
Attention : -  <HttpServerPortNumber>8095</HttpServerPortNumber>
Attention : -  <HttpsPortNumber>8920</HttpsPortNumber>
Attention : +  <InternalHttpPort>8095</InternalHttpPort>
Attention :    <EnableHttps>false</EnableHttps>
Attention : -  <PublicPort>8095</PublicPort>
Attention : -  <UPnPCreateHttpPortMap>false</UPnPCreateHttpPortMap>
Attention : -  <UDPPortRange />
Attention :    <EnableIPV6>true</EnableIPV6>
Attention :    <EnableIPV4>true</EnableIPV4>
Attention : -  <EnableSSDPTracing>false</EnableSSDPTracing>
Attention : -  <SSDPTracingFilter />
Attention : -  <UDPSendCount>2</UDPSendCount>
Attention : -  <UDPSendDelay>100</UDPSendDelay>
Attention : -  <IgnoreVirtualInterfaces>true</IgnoreVirtualInterfaces>
Attention : -  <VirtualInterfaceNames>vEthernet*</VirtualInterfaceNames>
Attention : -  <GatewayMonitorPeriod>60</GatewayMonitorPeriod>
Attention : -  <TrustAllIP6Interfaces>false</TrustAllIP6Interfaces>
Attention : -  <HDHomerunPortRange />
Attention : -  <PublishedServerUriBySubnet>
Attention : -    <string>https://kl.netlib.re/media</string>
Attention : -  </PublishedServerUriBySubnet>
Attention : -  <AutoDiscoveryTracing>false</AutoDiscoveryTracing>
Attention :    <AutoDiscovery>true</AutoDiscovery>
Attention : -  <RemoteIPFilter />
Attention : -  <IsRemoteIPFilterBlacklist>false</IsRemoteIPFilterBlacklist>
Attention :    <EnableUPnP>true</EnableUPnP>
Attention :    <EnableRemoteAccess>true</EnableRemoteAccess>
Attention : -  <LocalNetworkSubnets />
Attention : -  <LocalNetworkAddresses />
Attention : -  <KnownProxies />
Attention : -  <EnablePublishedServerUriByRequest>false</EnablePublishedServerUriByRequest>
Attention : -</NetworkConfiguration>
Attention : \ Pas de fin de ligne à la fin du fichier
Attention : +  <LocalNetworkAddresses>
Attention : +    <string>127.0.0.1</string>
Attention : +  </LocalNetworkAddresses>
Attention : +</NetworkConfiguration>

Some warnings i added to move old plugins directory instead of accumulating dust:

Attention : Jellyfin plugin 'LDAP Authentication' has different ABI version 10.8.0.0 than expected 10.9.0.0. Moving to /var/lib/jellyfin/plugins-backup.
Attention : Jellyfin plugin 'LDAP Authentication_12.0.0.0' has different ABI version 10.7.0.0 than expected 10.9.0.0. Moving to /var/lib/jellyfin/plugins-backup.
Attention : Jellyfin plugin 'Open Subtitles_10.0.0.0' has different ABI version 10.7.0.0 than expected 10.9.0.0. Moving to /var/lib/jellyfin/plugins-backup.
Attention : Jellyfin plugin 'Open Subtitles_11.0.0.0' has different ABI version 10.7.0.0 than expected 10.9.0.0. Moving to /var/lib/jellyfin/plugins-backup.
Attention : Jellyfin plugin 'Open Subtitles_19.0.0.0' has different ABI version 10.8.10.0 than expected 10.9.0.0. Moving to /var/lib/jellyfin/plugins-backup.
selfhoster1312 commented 3 months ago

TODO:

selfhoster1312 commented 3 months ago

delete the changed config warnings

That was probably my fault due to restoring a backup without the proper YNH command...

#! /usr/bin/env bash

yunohost app remove jellyfin
yunohost app install jellyfin
systemctl stop jellyfin
cd /var/lib/JELLYBACKUP/
cp -R ETC/* /etc/jellyfin/
cp -R USR/* /usr/lib/jellyfin/
cp -R VAR/* /var/lib/jellyfin/
chown -R jellyfin: /etc/jellyfin /usr/lib/jellyfin /var/lib/jellyfin
systemctl restart jellyfin
yunohost app upgrade jellyfin -u https://github.com/selfhoster1312/jellyfin_ynh/tree/10.9
selfhoster1312 commented 3 months ago

If someone has an idea why the extra systemd config is only taken into consideration after a second daemon-reload/restart here ?

PLEASE TEST AND REPORT ISSUES

ericgaspar commented 3 months ago

!testme

yunohost-bot commented 3 months ago

Alrighty! Test Badge

selfhoster1312 commented 3 months ago

!testme

yunohost-bot commented 3 months ago

:stuck_out_tongue_winking_eye: Test Badge

yunohost-bot commented 3 months ago

:bug: Test Badge

selfhoster1312 commented 3 months ago

!testme

yunohost-bot commented 3 months ago

:sunflower: Test Badge

yunohost-bot commented 3 months ago

:book: Test Badge

Salamandar commented 3 months ago
* [ ]  investigate why it takes two restart/daemon-reload/restart to take the new environment published URL into effect

It looks like it's more about startup delay. At least on my end with a single restart it works but not right away.

selfhoster1312 commented 3 months ago
* [ ]  investigate why it takes two restart/daemon-reload/restart to take the new environment published URL into effect

It looks like it's more about startup delay. At least on my end with a single restart it works but not right away.

No it's not. Before i was testing with daemon-reload/start it was just NOT working. After i restarted second time it was working. Systematically, not randomly. But apparently 1 restart is enough so that's good.

selfhoster1312 commented 3 months ago

So we have a few tests failing and a few warnings.

A warning about logging.json not being in same state. Why?

26072 WARNING Configuration file '/etc/jellyfin/logging.json'
26073 WARNING  ==> File on system created by you or by a script.
26073 WARNING  ==> File also in package provided by package maintainer.
26073 WARNING  ==> Keeping old config file as default.

Upgrade test on bookworm fails because the app was not supported on bookworm before... so that's good?

1504 WARNING Unknown release: bookworm
1606 ERROR   Unable to install jellyfin: An error occurred inside the app installation script

Upgrade test on bullseye fails because old packages are no longer available... so not good?

59748 WARNING https://repo.jellyfin.org/releases/server/debian/versions/jellyfin-ffmpeg/5.0.1-5/jellyfin-ffmpeg5_5.0.1-5-bullseye_amd64.deb:
59749 WARNING 2024-05-14 12:03:59 ERROR 404: Not found.
61252 ERROR Unable to install jellyfin: An error occurred inside the app installation script
selfhoster1312 commented 3 months ago

!testme

yunohost-bot commented 3 months ago

:bug: Test Badge

yunohost-bot commented 3 months ago

:stuck_out_tongue_winking_eye: Test Badge

selfhoster1312 commented 3 months ago

!testme

yunohost-bot commented 3 months ago

:books: :bug: Test Badge

yunohost-bot commented 3 months ago

:rocket: Test Badge

selfhoster1312 commented 3 months ago

!testme

yunohost-bot commented 3 months ago

:book: Test Badge

selfhoster1312 commented 3 months ago

Soooo in addition to the failing upgrade test because old version can't be installed... we have a few warnings:

Using helper ynh_permission_update is deprecated when using packaging v2 ... It is replaced by: the permission resource

But there is no way to set the admin permission to the $admin setting? EDIT: wrong, see https://yunohost.org/fr/packaging_apps_resources#permissions

Using helper ynh_remove_app_dependencies is deprecated when using packaging v2 ... It is replaced by: the apt resource

But apparently it's ok because we install DEB manually so it's a false warning?

Using helper ynh_system_user_create is deprecated when using packaging v2 ... It is replaced by: the system_user resource

But there's no way we can add the $app user to group render via manifest.toml so it's ok? EDIT: removed user creation from restore script because that's handled by the manifest... adding to the group was not producing the warning

There's still one warning to deal with:

19778 WARNING Configuration file '/etc/jellyfin/logging.json'
19778 WARNING  ==> File on system created by you or by a script.
19778 WARNING  ==> File also in package provided by package maintainer.
19779 WARNING  ==> Keeping old config file as default.
selfhoster1312 commented 3 months ago

!testme

yunohost-bot commented 3 months ago

:books: :worm: Test Badge

yunohost-bot commented 3 months ago

Meow :cat2: Test Badge

nbu2209 commented 3 months ago

Hey guys any news on that update ?

selfhoster1312 commented 3 months ago

Hey guys any news on that update ?

Still a few warnings i need help to fix :)

But i'm running 10.9.5 on my server and working great

stilobique commented 3 months ago

Hello @selfhoster1312 I made an upgrade with your branch, no issue with the install and the service are functional ; however, I have a message with the log.

juin 09 10:02:55 systemd[1]: jellyfin.service: Consumed 1d 18h 29min 35.221s CPU time.
juin 09 10:03:42 systemd[1]: Started Jellyfin Media Server.
juin 09 10:03:51 jellyfin[725476]: [10:03:51] [WRN] [1] Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware: The WebRootPath was not found: /var/lib/jellyfin/wwwroot. Static files may be unavailable.
juin 09 10:03:56 jellyfin[725476]: [10:03:56] [ERR] [15] MediaBrowser.Providers.Manager.ProviderManager: Error refreshing item
juin 09 10:03:56 jellyfin[725476]: System.ArgumentException: Guid can't be empty (Parameter 'id')
juin 09 10:03:56 jellyfin[725476]:    at Emby.Server.Implementations.Library.LibraryManager.GetItemById(Guid id)
juin 09 10:03:56 jellyfin[725476]:    at MediaBrowser.Providers.Manager.ProviderManager.StartProcessingRefreshQueue()

By the way, everything works ; thanks for your job ;) . Edit: And yes, some warning with the install, do you want my install log ? Edit 2 : Can't login with my Android TV, unable to connect :/ .

tituspijean commented 3 months ago

I have just installed the upgrade with no issue (https://paste.yunohost.org/raw/neyuhuxuye):

retiolus commented 3 months ago

Upgraded successfully without errors for the moment for my part.

I just got this:

284987 WARNING Configuration file '/usr/share/jellyfin/web/config.json'
284987 WARNING  ==> Modified (by you or by a script) since installation.
284987 WARNING  ==> Package distributor has shipped an updated version.
284987 WARNING  ==> Keeping old config file as default.

How can I compare it with the new file?

tituspijean commented 2 months ago

@retiolus I guess it is coming from the deb package deployment, but can you share the upgrade log? Maybe check upstream repo for that file?

retiolus commented 2 months ago

@retiolus I guess it is coming from the deb package deployment, but can you share the upgrade log? Maybe check upstream repo for that file?

Found the diffs, how can I find the logs now?

Btw, I have the felling that since I updated, scanning new media isn't working.

[2024-06-14 20:38:26.384 +00:00] [ERR] [11] Emby.Server.Implementations.ScheduledTasks.TaskManager: Error executing Scheduled Task
Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 8: 'attempt to write a readonly database'.
   at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteNonQuery()
   at Emby.Server.Implementations.Data.SqliteItemRepository.SaveImages(BaseItem item)
   at Emby.Server.Implementations.Library.LibraryManager.UpdateImagesAsync(BaseItem item, Boolean forceUpdate)
   at MediaBrowser.Controller.Entities.Folder.ValidateChildrenInternal2(IProgress`1 progress, Boolean recursive, Boolean refreshChildMetadata, Boolean allowRemoveRoot, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService, CancellationToken cancellationToken)
   at MediaBrowser.Controller.Entities.Folder.ValidateChildrenInternal(IProgress`1 progress, Boolean recursive, Boolean refreshChildMetadata, Boolean allowRemoveRoot, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService, CancellationToken cancellationToken)
   at MediaBrowser.Controller.Entities.Folder.<>c__DisplayClass69_0`1.<<RunTasks>b__1>d.MoveNext()
retiolus commented 2 months ago

Now, I tried to restore my backup, and it did not work... https://paste.yunohost.org/raw/egunukufux

:(

The correct path for binaries should be https://repo.jellyfin.org/files/server/debian/stable/10.8.13/amd64/jellyfin-web_10.8.13-1_all.deb and not https://repo.jellyfin.org/releases/server/debian/versions/stable/web/10.8.13/jellyfin-web_10.8.13-1_all.deb

cichy1173 commented 2 months ago

Installed. Works. Finally ffmpeg works on my server - that was an issue for some time now for me (I think it was caused by version mismatch - Jellyfin 10.8 used ffmpeg6, not ffmpeg5, but ffmpeg5 is recommended). obraz

selfhoster1312 commented 2 months ago

Updated to 10.9.6

rmkni commented 2 months ago

Hi there, I tried to install from this PR on a fresh yunohost and got this issue :

2024-06-20 14:01:59,970: INFO - [###############+....] > Integrating service in YunoHost...
2024-06-20 14:01:59,975: WARNING - ./install: ligne 111: ports : variable sans liaison
2024-06-20 14:01:59,976: DEBUG - ++ ynh_exit_properly
2024-06-20 14:01:59,976: DEBUG - ++ [[ install =~ ^install$|^upgrade$|^restore$ ]]
2024-06-20 14:02:00,492: DEBUG - ++ exit 1
2024-06-20 14:02:01,497: ERROR - Impossible d'installer jellyfin : Une erreur est survenue dans le script d'installation de l'application

Maybe there is an error in install line 111 I'm not sure about this ${ports} variable

selfhoster1312 commented 2 months ago

!testme

yunohost-bot commented 2 months ago

:book: Test Badge

yunohost-bot commented 2 months ago

Meow :cat2: Test Badge

selfhoster1312 commented 2 months ago

!testme

yunohost-bot commented 2 months ago

:worm: Test Badge

yunohost-bot commented 2 months ago

:v: Test Badge

kay0u commented 2 months ago

!testme

yunohost-bot commented 2 months ago

:books: :bug: Test Badge

yunohost-bot commented 2 months ago

:v: Test Badge

kay0u commented 2 months ago

!testme

yunohost-bot commented 2 months ago

:books: :worm: Test Badge

yunohost-bot commented 2 months ago

Meow :cat2: Test Badge

kay0u commented 2 months ago

!testme