I’m trying to get Jellyfin working in a container. I’m following these instructions: Container | Jellyfin
I created the volumes:
mkdir /mnt/raid/docker/volumes/jellyfin-config
mkdir /mnt/raid/docker/volumes/jellyfin-cache
Then run a container:
docker run -d \
--name jellyfin \
--net=host \
--volume jellyfin-config:/config \
--volume jellyfin-cache:/cache \
--mount type=bind,source=/mnt/raid/media,target=/media \
--restart=unless-stopped \
jellyfin/jellyfin
When I go to http://192.168.1.1:8096/, I get redirected to http://192.168.1.1:8096/web/#/selectserver.html, to choose the server.
I select turrins
then connect
. The UI responds with an error:
We’re unable to connect to the selected server right now. Please ensure it is running and try again.
What am I doing wrong? Do I need to create a jellyfin
user/group on the router first, then include the ids in the --user
switch?
The container’s log:
stdout: [14:36:51] [INF] [1] Main: Jellyfin version: 10.9.8
stdout: [14:36:51] [INF] [1] Main: Environment Variables: ["[JELLYFIN_CONFIG_DIR, /config/config]", "[JELLYFIN_CACHE_DIR, /cache]", "[JELLYFIN_WEB_DIR, /jellyfin/jellyfin-web]", "[JELLYFIN_DATA_DIR, /config]", "[JELLYFIN_FFMPEG, /usr/lib/jellyfin-ffmpeg/ffmpeg]", "[JELLYFIN_LOG_DIR, /config/log]"]
stdout: [14:36:51] [INF] [1] Main: Arguments: ["/jellyfin/jellyfin.dll"]
stdout: [14:36:51] [INF] [1] Main: Operating system: Debian GNU/Linux 12 (bookworm)
stdout: [14:36:51] [INF] [1] Main: Architecture: Arm
stdout: [14:36:51] [INF] [1] Main: 64-Bit Process: False
stdout: [14:36:51] [INF] [1] Main: User Interactive: True
stdout: [14:36:51] [INF] [1] Main: Processor count: 2
stdout: [14:36:51] [INF] [1] Main: Program data path: /config
stdout: [14:36:51] [INF] [1] Main: Log directory path: /config/log
stdout: [14:36:51] [INF] [1] Main: Config directory path: /config/config
stdout: [14:36:51] [INF] [1] Main: Cache path: /cache
stdout: [14:36:51] [INF] [1] Main: Web resources path: /jellyfin/jellyfin-web
stdout: [14:36:51] [INF] [1] Main: Application directory: /jellyfin/
stdout: [14:36:52] [INF] [1] Jellyfin.Server.Migrations.MigrationRunner: Marking following migrations as applied because this is a fresh install: ["CreateNetworkConfiguration", "MigrateMusicBrainzTimeout", "MigrateNetworkConfiguration"]
stdout: [14:36:52] [INF] [1] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Setting cache path: /cache
stdout: [14:36:53] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loading assemblies
stdout: [14:36:53] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Defined LAN subnets: ["127.0.0.1/8", "10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"]
stdout: [14:36:53] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Defined LAN exclusions: []
stdout: [14:36:53] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Used LAN subnets: ["127.0.0.1/8", "10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"]
stdout: [14:36:53] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Filtered interface addresses: ["127.0.0.1", "207.153.7.9", "10.111.222.1", "192.168.1.1"]
stdout: [14:36:53] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Bind Addresses ["0.0.0.0"]
stdout: [14:36:53] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Remote IP filter is Allowlist
stdout: [14:36:53] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Filtered subnets: []
stdout: [14:37:05] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: TMDb 10.9.8.0
stdout: [14:37:05] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: Studio Images 10.9.8.0
stdout: [14:37:05] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: OMDb 10.9.8.0
stdout: [14:37:05] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: MusicBrainz 10.9.8.0
stdout: [14:37:05] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: AudioDB 10.9.8.0
stdout: [14:37:05] [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", "FixPlaylistOwner", "MigrateRatingLevels", "FixAudioData"]
stdout: [14:37:05] [INF] [1] Main: Kestrel is listening on 0.0.0.0
stdout: [14:37:05] [WRN] [1] Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager: No XML encryptor configured. Key {d0980edd-f60f-433d-8b67-4035ea7b3ada} may be persisted to storage in unencrypted form.
stdout: [14:37:08] [WRN] [1] Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware: The WebRootPath was not found: /wwwroot. Static files may be unavailable.
stdout: [14:37:09] [INF] [1] Emby.Server.Implementations.ApplicationHost: Running startup tasks
stdout: [14:37:09] [INF] [1] Emby.Server.Implementations.ScheduledTasks.TaskManager: Daily trigger for Generate Trickplay Images set to fire at 2024-07-28 03:00:00.000 +00:00, which is 12:22:50.8060999 from now.
stdout: [14:37:09] [INF] [1] Emby.Server.Implementations.ScheduledTasks.TaskManager: Daily trigger for Extract Chapter Images set to fire at 2024-07-28 02:00:00.000 +00:00, which is 11:22:50.7906962 from now.
stdout: [14:37:10] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Found ffmpeg version 6.0.1
stdout: [14:37:10] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available decoders: ["libdav1d", "av1", "av1_rkmpp", "h264", "h264_rkmpp", "hevc", "hevc_rkmpp", "mpeg1_rkmpp", "mpeg2video", "mpeg2_rkmpp", "mpeg4", "mpeg4_rkmpp", "msmpeg4", "vp8", "vp8_rkmpp", "libvpx", "vp9", "vp9_rkmpp", "libvpx-vp9", "aac", "ac3", "dca", "flac", "mp3", "truehd"]
stdout: [14:37:10] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available encoders: ["libsvtav1", "libx264", "h264_v4l2m2m", "h264_rkmpp", "libx265", "hevc_rkmpp", "mpeg4", "msmpeg4", "libvpx", "libvpx-vp9", "aac", "libfdk_aac", "ac3", "alac", "dca", "flac", "libmp3lame", "libopus", "truehd", "libvorbis", "srt"]
stdout: [14:37:11] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available filters: ["overlay_opencl", "overlay_rkrga", "scale_opencl", "scale_rkrga", "tonemap_opencl", "vpp_rkrga", "zscale", "alphasrc"]
stdout: [14:37:11] [WRN] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Filter: scale_cuda with option Output format (default "same") is not available
stdout: [14:37:11] [WRN] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Filter: tonemap_cuda with option GPU accelerated HDR to SDR tonemapping is not available
stdout: [14:37:11] [WRN] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Filter: overlay_vaapi with option Action to take when encountering EOF from secondary input is not available
stdout: [14:37:11] [WRN] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Filter: overlay_vulkan with option Action to take when encountering EOF from secondary input is not available
stdout: [14:37:11] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available hwaccel types: ["drm", "opencl", "rkmpp"]
stdout: [14:37:12] [INF] [10] Emby.Server.Implementations.ScheduledTasks.TaskManager: Clean up collections and playlists Completed after 0 minute(s) and 0 seconds
stdout: [14:37:12] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: FFmpeg: /usr/lib/jellyfin-ffmpeg/ffmpeg
stdout: [14:37:12] [INF] [1] Emby.Server.Implementations.ApplicationHost: ServerId: 9979eced53394a63a9bc01911ce8aea9
stdout: [14:37:12] [INF] [1] Emby.Server.Implementations.ApplicationHost: Core startup complete
stdout: [14:37:12] [INF] [1] Main: Startup complete 0:00:23.2642405
stdout: [14:37:14] [INF] [12] Emby.Server.Implementations.ScheduledTasks.TaskManager: Update Plugins Completed after 0 minute(s) and 1 seconds