2024-04-11, 06:03 PM
(This post was last modified: 2024-04-11, 06:08 PM by innerspaceboy. Edited 1 time in total.)
@TheDreadPirate Supplemental to my last post from 20 mins ago where I confirmed that the new curl command completed the installation successfully following the removal of the offending PPAs, I googled the error "The server is expected to host the web client, but the provided content directory is either invalid or empty: /usr/lib/jellyfin/bin/jellyfin-web" I found this - https://github.com/jellyfin/jellyfin/issues/3638
So I ran this:
sudo ln -s /usr/share/jellyfin/web/ /usr/lib/jellyfin/bin/jellyfin-web
Now when I type "jellyfin" in terminal I get this:
[14:00:18] [INF] [1] Main: Jellyfin version: 10.8.13
[14:00:19] [INF] [1] Main: Environment Variables: ["[JELLYFIN_LOG_DIR, /home/innerspacelabs/.local/share/jellyfin/log]"]
[14:00:19] [INF] [1] Main: Arguments: ["/usr/lib/jellyfin/bin/jellyfin.dll"]
[14:00:19] [INF] [1] Main: Operating system: Linux
[14:00:19] [INF] [1] Main: Architecture: X64
[14:00:19] [INF] [1] Main: 64-Bit Process: True
[14:00:19] [INF] [1] Main: User Interactive: True
[14:00:19] [INF] [1] Main: Processor count: 4
[14:00:19] [INF] [1] Main: Program data path: /home/innerspacelabs/.local/share/jellyfin
[14:00:19] [INF] [1] Main: Web resources path: /usr/lib/jellyfin/bin/jellyfin-web
[14:00:19] [INF] [1] Main: Application directory: /usr/lib/jellyfin/bin/
[14:00:19] [INF] [1] Jellyfin.Server.Migrations.MigrationRunner: Marking following migrations as applied because this is a fresh install: ["CreateNetworkConfiguration"]
[14:00:19] [INF] [1] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Setting cache path: /home/innerspacelabs/.cache/jellyfin
[14:00:19] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loading assemblies
[14:00:19] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Defined LAN addresses : [10.0.0.0/8,172.16.0.0/12,192.168.0.0/16]
[14:00:19] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Defined LAN exclusions : []
[14:00:19] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Using LAN addresses: [10.0.0.0/8,172.16.0.0/12,192.168.0.0/16]
[14:00:19] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Using bind addresses: []
[14:00:19] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Using bind exclusions: []
[14:00:20] [INF] [1] Jellyfin.Server.Implementations.JellyfinDbProvider: There are pending EFCore migrations in the database. Applying... (This may take a while, do not stop Jellyfin)
[14:00:20] [INF] [1] Jellyfin.Server.Implementations.JellyfinDbProvider: EFCore migrations applied successfully
[14:00:20] [INF] [1] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Saving system configuration
[14:00:20] [INF] [1] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Setting cache path: /home/innerspacelabs/.cache/jellyfin
[14:00:20] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: TMDb 10.8.13.0
[14:00:20] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: Studio Images 10.8.13.0
[14:00:20] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: OMDb 10.8.13.0
[14:00:20] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: MusicBrainz 10.8.13.0
[14:00:20] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: AudioDB 10.8.13.0
[14:00:20] [INF] [1] Jellyfin.Server.Migrations.MigrationRunner: Marking following migrations as applied because this is a fresh install: ["DisableTranscodingThrottling", "CreateLoggingConfigHeirarchy", "MigrateActivityLogDatabase", "RemoveDuplicateExtras", "MigrateUserDatabase", "MigrateDisplayPreferencesDatabase", "RemoveDownloadImagesInAdvance", "MigrateAuthenticationDatabase"]
[14:00:20] [INF] [1] Jellyfin.Server.Migrations.MigrationRunner: Applying migration 'AddDefaultPluginRepository'
[14:00:20] [INF] [1] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Saving system configuration
[14:00:20] [INF] [1] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Setting cache path: /home/innerspacelabs/.cache/jellyfin
[14:00:20] [INF] [1] Jellyfin.Server.Migrations.MigrationRunner: Migration 'AddDefaultPluginRepository' applied successfully
[14:00:20] [INF] [1] Jellyfin.Server.Migrations.MigrationRunner: Applying migration 'ReaddDefaultPluginRepository'
[14:00:20] [INF] [1] Jellyfin.Server.Migrations.MigrationRunner: Migration 'ReaddDefaultPluginRepository' applied successfully
[14:00:20] [INF] [1] Jellyfin.Server.Migrations.MigrationRunner: Applying migration 'AddPeopleQueryIndex'
[14:00:20] [INF] [1] Jellyfin.Server.Migrations.Routines.AddPeopleQueryIndex: Creating index idx_TypedBaseItemsUserDataKeyType
[14:00:20] [INF] [1] Jellyfin.Server.Migrations.Routines.AddPeopleQueryIndex: Creating index idx_PeopleNameListOrder
[14:00:20] [INF] [1] Jellyfin.Server.Migrations.MigrationRunner: Migration 'AddPeopleQueryIndex' applied successfully
[14:00:20] [INF] [1] Main: Kestrel listening on Any IP4 Address
[14:00:21] [WRN] [1] Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager: No XML encryptor configured. Key {88ad8a29-c1a4-4c9c-b40e-f5d06f16669e} may be persisted to storage in unencrypted form.
[14:00:21] [ERR] [1] Main: Kestrel failed to start! This is most likely due to an invalid address or port bind - correct your bind configuration in network.xml and try again.
[14:00:21] [FTL] [1] Main: Error while starting server.
System.IO.IOException: Failed to bind to address http://0.0.0.0:8096: address already in use.
---> Microsoft.AspNetCore.Connections.AddressInUseException: Address already in use
---> System.Net.Sockets.SocketException (9: Address already in use
at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Bind(EndPoint localEP)
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportOptions.CreateDefaultBoundListenSocket(EndPoint endpoint)
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind()
--- End of inner exception stack trace ---
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind()
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.TransportManager.BindAsync(EndPoint endPoint, ConnectionDelegate connectionDelegate, EndpointConfig endpointConfig, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.<>c__DisplayClass30_0
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.BindAsync(CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.StartAsync[TContext](IHttpApplication`1 application, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Hosting.WebHost.StartAsync(CancellationToken cancellationToken)
at Jellyfin.Server.Program.StartApp(StartupOptions options)
[14:00:21] [INF] [1] Main: Running query planner optimizations in the database... This might take a while
[14:00:21] [INF] [1] Emby.Server.Implementations.ApplicationHost: Disposing CoreAppHost
[14:00:21] [INF] [1] Emby.Server.Implementations.ApplicationHost: Disposing MusicBrainzAlbumProvider
[14:00:21] [INF] [1] Emby.Server.Implementations.ApplicationHost: Disposing SchedulesDirect
[14:00:21] [INF] [1] Emby.Server.Implementations.ApplicationHost: Disposing EmbyTV
[14:00:21] [INF] [2] Main: Received a SIGTERM signal, shutting down
And I still can't connect to the server via the web browser. It still prompts me to select the only server (my PC) and then a window pops up with a "connect" button. Clicking that it returns the error, "We're unable to connect to the selected server right now. Please ensure it is running and try again."
It looks like the red flag is this part of the message:
Main: Error while starting server.
System.IO.IOException: Failed to bind to address http://0.0.0.0:8096: address already in use.
I'll await your word before I touch anything else.
So I ran this:
sudo ln -s /usr/share/jellyfin/web/ /usr/lib/jellyfin/bin/jellyfin-web
Now when I type "jellyfin" in terminal I get this:
[14:00:18] [INF] [1] Main: Jellyfin version: 10.8.13
[14:00:19] [INF] [1] Main: Environment Variables: ["[JELLYFIN_LOG_DIR, /home/innerspacelabs/.local/share/jellyfin/log]"]
[14:00:19] [INF] [1] Main: Arguments: ["/usr/lib/jellyfin/bin/jellyfin.dll"]
[14:00:19] [INF] [1] Main: Operating system: Linux
[14:00:19] [INF] [1] Main: Architecture: X64
[14:00:19] [INF] [1] Main: 64-Bit Process: True
[14:00:19] [INF] [1] Main: User Interactive: True
[14:00:19] [INF] [1] Main: Processor count: 4
[14:00:19] [INF] [1] Main: Program data path: /home/innerspacelabs/.local/share/jellyfin
[14:00:19] [INF] [1] Main: Web resources path: /usr/lib/jellyfin/bin/jellyfin-web
[14:00:19] [INF] [1] Main: Application directory: /usr/lib/jellyfin/bin/
[14:00:19] [INF] [1] Jellyfin.Server.Migrations.MigrationRunner: Marking following migrations as applied because this is a fresh install: ["CreateNetworkConfiguration"]
[14:00:19] [INF] [1] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Setting cache path: /home/innerspacelabs/.cache/jellyfin
[14:00:19] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loading assemblies
[14:00:19] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Defined LAN addresses : [10.0.0.0/8,172.16.0.0/12,192.168.0.0/16]
[14:00:19] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Defined LAN exclusions : []
[14:00:19] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Using LAN addresses: [10.0.0.0/8,172.16.0.0/12,192.168.0.0/16]
[14:00:19] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Using bind addresses: []
[14:00:19] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Using bind exclusions: []
[14:00:20] [INF] [1] Jellyfin.Server.Implementations.JellyfinDbProvider: There are pending EFCore migrations in the database. Applying... (This may take a while, do not stop Jellyfin)
[14:00:20] [INF] [1] Jellyfin.Server.Implementations.JellyfinDbProvider: EFCore migrations applied successfully
[14:00:20] [INF] [1] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Saving system configuration
[14:00:20] [INF] [1] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Setting cache path: /home/innerspacelabs/.cache/jellyfin
[14:00:20] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: TMDb 10.8.13.0
[14:00:20] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: Studio Images 10.8.13.0
[14:00:20] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: OMDb 10.8.13.0
[14:00:20] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: MusicBrainz 10.8.13.0
[14:00:20] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: AudioDB 10.8.13.0
[14:00:20] [INF] [1] Jellyfin.Server.Migrations.MigrationRunner: Marking following migrations as applied because this is a fresh install: ["DisableTranscodingThrottling", "CreateLoggingConfigHeirarchy", "MigrateActivityLogDatabase", "RemoveDuplicateExtras", "MigrateUserDatabase", "MigrateDisplayPreferencesDatabase", "RemoveDownloadImagesInAdvance", "MigrateAuthenticationDatabase"]
[14:00:20] [INF] [1] Jellyfin.Server.Migrations.MigrationRunner: Applying migration 'AddDefaultPluginRepository'
[14:00:20] [INF] [1] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Saving system configuration
[14:00:20] [INF] [1] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Setting cache path: /home/innerspacelabs/.cache/jellyfin
[14:00:20] [INF] [1] Jellyfin.Server.Migrations.MigrationRunner: Migration 'AddDefaultPluginRepository' applied successfully
[14:00:20] [INF] [1] Jellyfin.Server.Migrations.MigrationRunner: Applying migration 'ReaddDefaultPluginRepository'
[14:00:20] [INF] [1] Jellyfin.Server.Migrations.MigrationRunner: Migration 'ReaddDefaultPluginRepository' applied successfully
[14:00:20] [INF] [1] Jellyfin.Server.Migrations.MigrationRunner: Applying migration 'AddPeopleQueryIndex'
[14:00:20] [INF] [1] Jellyfin.Server.Migrations.Routines.AddPeopleQueryIndex: Creating index idx_TypedBaseItemsUserDataKeyType
[14:00:20] [INF] [1] Jellyfin.Server.Migrations.Routines.AddPeopleQueryIndex: Creating index idx_PeopleNameListOrder
[14:00:20] [INF] [1] Jellyfin.Server.Migrations.MigrationRunner: Migration 'AddPeopleQueryIndex' applied successfully
[14:00:20] [INF] [1] Main: Kestrel listening on Any IP4 Address
[14:00:21] [WRN] [1] Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager: No XML encryptor configured. Key {88ad8a29-c1a4-4c9c-b40e-f5d06f16669e} may be persisted to storage in unencrypted form.
[14:00:21] [ERR] [1] Main: Kestrel failed to start! This is most likely due to an invalid address or port bind - correct your bind configuration in network.xml and try again.
[14:00:21] [FTL] [1] Main: Error while starting server.
System.IO.IOException: Failed to bind to address http://0.0.0.0:8096: address already in use.
---> Microsoft.AspNetCore.Connections.AddressInUseException: Address already in use
---> System.Net.Sockets.SocketException (9: Address already in use
at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Bind(EndPoint localEP)
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportOptions.CreateDefaultBoundListenSocket(EndPoint endpoint)
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind()
--- End of inner exception stack trace ---
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind()
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.TransportManager.BindAsync(EndPoint endPoint, ConnectionDelegate connectionDelegate, EndpointConfig endpointConfig, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.<>c__DisplayClass30_0
1.<<StartAsync>g__OnBind|0>d.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions.BindAsync(AddressBindContext context, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.EndpointsStrategy.BindAsync(AddressBindContext context, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindAsync(IEnumerable
1 listenOptions, AddressBindContext context, CancellationToken cancellationToken)at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.BindAsync(CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.StartAsync[TContext](IHttpApplication`1 application, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Hosting.WebHost.StartAsync(CancellationToken cancellationToken)
at Jellyfin.Server.Program.StartApp(StartupOptions options)
[14:00:21] [INF] [1] Main: Running query planner optimizations in the database... This might take a while
[14:00:21] [INF] [1] Emby.Server.Implementations.ApplicationHost: Disposing CoreAppHost
[14:00:21] [INF] [1] Emby.Server.Implementations.ApplicationHost: Disposing MusicBrainzAlbumProvider
[14:00:21] [INF] [1] Emby.Server.Implementations.ApplicationHost: Disposing SchedulesDirect
[14:00:21] [INF] [1] Emby.Server.Implementations.ApplicationHost: Disposing EmbyTV
[14:00:21] [INF] [2] Main: Received a SIGTERM signal, shutting down
And I still can't connect to the server via the web browser. It still prompts me to select the only server (my PC) and then a window pops up with a "connect" button. Clicking that it returns the error, "We're unable to connect to the selected server right now. Please ensure it is running and try again."
It looks like the red flag is this part of the message:
Main: Error while starting server.
System.IO.IOException: Failed to bind to address http://0.0.0.0:8096: address already in use.
I'll await your word before I touch anything else.