Comments (20)
I'm using portainer and the logs from jellyfin:
[migrations] started [migrations] no migrations found usermod: no changes ─────────────────────────────────────── ██╗ ███████╗██╗ ██████╗ ██║ ██╔════╝██║██╔═══██╗ ██║ ███████╗██║██║ ██║ ██║ ╚════██║██║██║ ██║ ███████╗███████║██║╚██████╔╝ ╚══════╝╚══════╝╚═╝ ╚═════╝ Brought to you by linuxserver.io ─────────────────────────────────────── To support the app dev(s) visit: Jellyfin: https://opencollective.com/jellyfin To support LSIO projects visit: https://www.linuxserver.io/donate/ ─────────────────────────────────────── GID/UID ─────────────────────────────────────── User UID: 1000 User GID: 1000 ─────────────────────────────────────── [custom-init] No custom files found, skipping... failed to load external entity "/config/network.xml" [19:43:13] [INF] [1] Main: Jellyfin version: 10.8.10 [19:43:13] [INF] [1] Main: Environment Variables: ["[JELLYFIN_CACHE_DIR, /config/cache]", "[JELLYFIN_WEB_DIR, /usr/share/jellyfin/web]", "[JELLYFIN_DATA_DIR, /config/data]", "[JELLYFIN_CONFIG_DIR, /config]", "[JELLYFIN_LOG_DIR, /config/log]"] [19:43:13] [INF] [1] Main: Arguments: ["/usr/lib/jellyfin/bin/jellyfin.dll", "--ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg"] [19:43:13] [INF] [1] Main: Operating system: Linux [19:43:13] [INF] [1] Main: Architecture: X64 [19:43:13] [INF] [1] Main: 64-Bit Process: True [19:43:13] [INF] [1] Main: User Interactive: True [19:43:13] [INF] [1] Main: Processor count: 4 [19:43:13] [INF] [1] Main: Program data path: /config/data [19:43:13] [INF] [1] Main: Web resources path: /usr/share/jellyfin/web [19:43:13] [INF] [1] Main: Application directory: /usr/lib/jellyfin/bin/ [19:43:13] [INF] [1] Jellyfin.Server.Migrations.MigrationRunner: Applying migration 'CreateNetworkConfiguration' [19:43:13] [INF] [1] Jellyfin.Server.Migrations.MigrationRunner: Migration 'CreateNetworkConfiguration' applied successfully [19:43:13] [INF] [1] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Setting cache path: /config/cache [19:43:13] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loading assemblies [19:43:14] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Defined LAN addresses : [10.0.0.0/8,172.16.0.0/12,192.168.0.0/16] [19:43:14] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Defined LAN exclusions : [] [19:43:14] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Using LAN addresses: [10.0.0.0/8,172.16.0.0/12,192.168.0.0/16] [19:43:14] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Using bind addresses: [] [19:43:14] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Using bind exclusions: [] [19:43:16] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: TMDb 10.8.10.0 [19:43:16] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: Studio Images 10.8.10.0 [19:43:16] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: OMDb 10.8.10.0 [19:43:16] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: MusicBrainz 10.8.10.0 [19:43:16] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: AudioDB 10.8.10.0 [19:43:16] [INF] [1] Main: Kestrel listening on Any IP4 Address [19:43:16] [WRN] [1] Microsoft.AspNetCore.DataProtection.Repositories.EphemeralXmlRepository: Using an in-memory repository. Keys will not be persisted to storage. [19:43:16] [WRN] [1] Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager: Neither user profile nor HKLM registry available. Using an ephemeral key repository. Protected data will be unavailable when application exits. [19:43:16] [WRN] [1] Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager: No XML encryptor configured. Key {b9d7abd2-cfe9-42b9-960e-50ed289040fb} may be persisted to storage in unencrypted form. [19:43:16] [INF] [1] Emby.Server.Implementations.ApplicationHost: Running startup tasks [19:43:16] [INF] [1] Emby.Server.Implementations.ScheduledTasks.TaskManager: Daily trigger for Extract Chapter Images set to fire at 2023-07-30 02:00:00.000 +02:00, which is 06:16:43.2803240 from now. [19:43:17] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Found ffmpeg version 5.1.3 [19:43:17] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available decoders: ["libdav1d", "av1", "av1_cuvid", "av1_qsv", "h264", "h264_qsv", "h264_cuvid", "hevc", "hevc_qsv", "hevc_cuvid", "mpeg2video", "mpeg2_qsv", "mpeg2_cuvid", "mpeg4", "mpeg4_cuvid", "msmpeg4", "vc1_qsv", "vc1_cuvid", "vp8", "libvpx", "vp8_cuvid", "vp8_qsv", "vp9", "libvpx-vp9", "vp9_cuvid", "vp9_qsv", "aac", "ac3", "dca", "flac", "mp3", "truehd"] [19:43:17] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available encoders: ["libx264", "h264_amf", "h264_nvenc", "h264_qsv", "h264_v4l2m2m", "h264_vaapi", "libx265", "hevc_amf", "hevc_nvenc", "hevc_qsv", "hevc_vaapi", "mpeg4", "msmpeg4", "libvpx", "libvpx-vp9", "aac", "libfdk_aac", "ac3", "dca", "flac", "libmp3lame", "libopus", "truehd", "libvorbis", "srt"] [19:43:17] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available filters: ["deinterlace_qsv", "deinterlace_vaapi", "hwupload_cuda", "hwupload_vaapi", "overlay_opencl", "overlay_qsv", "overlay_vaapi", "overlay_cuda", "procamp_vaapi", "scale_cuda", "scale_opencl", "scale_qsv", "scale_vaapi", "tonemap_cuda", "tonemap_opencl", "tonemap_vaapi", "vpp_qsv", "yadif_cuda", "zscale", "alphasrc"] [19:43:17] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available hwaccel types: ["cuda", "vaapi", "qsv", "drm", "opencl", "vulkan"] [19:43:17] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: FFmpeg: /usr/lib/jellyfin-ffmpeg/ffmpeg [19:43:17] [INF] [1] Emby.Server.Implementations.ApplicationHost: ServerId: 6741fe504fb74e6397fe1694b4498a1e [19:43:17] [INF] [1] Emby.Server.Implementations.ApplicationHost: Executed all pre-startup entry points in 0:00:00.090945 [19:43:17] [INF] [1] Emby.Server.Implementations.ApplicationHost: Core startup complete [19:43:17] [INF] [1] Emby.Server.Implementations.ApplicationHost: Executed all post-startup entry points in 0:00:00.1054301 [19:43:17] [INF] [1] Main: Startup complete 0:00:04.3303974 [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'AccessSchedule' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'ActivityLog' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'CustomItemDisplayPreferences' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'DisplayPreferences' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'HomeSection' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'ImageInfo' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'ItemDisplayPreferences' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'Permission' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'Preference' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'ApiKey' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'Device' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'DeviceOptions' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'User' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [ls.io-init] done. [19:43:19] [INF] [13] Emby.Server.Implementations.ScheduledTasks.TaskManager: StartupTrigger fired for task: Update Plugins [19:43:19] [INF] [13] Emby.Server.Implementations.ScheduledTasks.TaskManager: Queuing task PluginUpdateTask [19:43:19] [INF] [17] Emby.Server.Implementations.ScheduledTasks.TaskManager: Executing Update Plugins [19:43:20] [INF] [10] Emby.Server.Implementations.ScheduledTasks.TaskManager: Update Plugins Completed after 0 minute(s) and 0 seconds [19:43:20] [INF] [10] Emby.Server.Implementations.ScheduledTasks.TaskManager: ExecuteQueuedTasks
and from traefik:
time="2023-07-29T17:43:11Z" level=info msg="Configuration loaded from file: /etc/traefik/traefik.toml" time="2023-07-29T17:43:11Z" level=error msg="service \"portainer\" error: port is missing" providerName=docker container=portainer-6da5d61a09c0bd65750339f4854ae221871af3b18f94029c7228dce17578aede time="2023-07-29T17:43:11Z" level=error msg="service \"portainer\" error: port is missing" providerName=docker container=portainer-6da5d61a09c0bd65750339f4854ae221871af3b18f94029c7228dce17578aede
from docker-media-center.
The htpasswd shouldn't matter for Jellyfin specifically because it's not even using it, Jellyfin has its own authentication so htpasswd is irrelevant in this case.
Could you show me your .env file? Also, is the file "acme.json" populated with anything or is it empty?
from docker-media-center.
.env file:
Containers prefix
COMPOSE_PROJECT_NAME=dmc
Data location for storing media, downloads and configs
DATA_DIR=../data
SERVICES_DIR=../services
Timezone
TIMEZONE=Europe/Oslo
Linux user/group ID for file permissions
User ID
ENV_PUID=1000
Group ID
ENV_PGID=1000
Domain
DOMAIN=chickenkiller.com
Subdomains for accessing services
SUB_DOMAIN_JELLYFIN=jellyfincp
SUB_DOMAIN_TRANSMISSION=transmissioncp
SUB_DOMAIN_SONARR=sonarrcp
SUB_DOMAIN_RADARR=radarr
SUB_DOMAIN_PROWLARR=prowlarr
SUB_DOMAIN_JELLYSEERR=jellyseerr
"acme.json" is populated with many things
from docker-media-center.
if i deploy with my own containers and config i get the same issue... 404
any other ideas? I am not sure what is wrong tbh...
from docker-media-center.
Could you also show me your docker-compose.yml that's found in "dmc/compose/"?
from docker-media-center.
Here it is:
`version: "3.7"
networks:
global:
external: true
local:
external: false
services:
jellyfin:
image: lscr.io/linuxserver/jellyfin:latest
restart: unless-stopped
#security_opt: # Required for Docker versions below 20.10.10, update Docker for long term solution. Source: https://docs.linuxserver.io/faq#jammy
# - seccomp=unconfined
networks:
- global
- local
environment:
- PUID=${ENV_PUID}
- PGID=${ENV_PGID}
- TZ=${TIMEZONE}
volumes:
- ${SERVICES_DIR}/jellyfin:/config
- ${DATA_DIR}/media:/data/media
labels:
- "traefik.enable=true"
- "traefik.http.routers.dmc-jellyfin.rule=Host(${SUB_DOMAIN_JELLYFIN}.${DOMAIN}
)"
- "traefik.http.routers.dmc-jellyfin.tls=true"
- "traefik.http.services.dmc-jellyfin.loadbalancer.server.port=8096"
- "traefik.http.routers.dmc-jellyfin.tls.certresolver=letsencrypt"
- "traefik.docker.network=global"
transmission:
image: lscr.io/linuxserver/transmission:latest
restart: unless-stopped
networks:
- global
- local
environment:
- PUID=${ENV_PUID}
- PGID=${ENV_PGID}
- TZ={TIMEZONE}
volumes:
- ${SERVICES_DIR}/transmission:/config
- ${DATA_DIR}/downloads:/data/downloads
ports:
- 51413:51413 # Torrent port TCP
- 51413:51413/udp # Torrent port UDP
labels:
- "traefik.enable=true"
- "traefik.http.routers.dmc-transmission.rule=Host(${SUB_DOMAIN_TRANSMISSION}.${DOMAIN}
)"
- "traefik.http.routers.dmc-transmission.tls=true"
- "traefik.http.services.dmc-transmission.loadbalancer.server.port=9091"
- "traefik.http.routers.dmc-transmission.tls.certresolver=letsencrypt"
- "traefik.docker.network=global"
# Basic auth
- "traefik.http.middlewares.dmc-auth.basicauth.usersfile=/.htpasswd"
- "traefik.http.routers.dmc-transmission.middlewares=dmc-auth"
radarr:
image: lscr.io/linuxserver/radarr:latest
restart: unless-stopped
networks:
- global
- local
environment:
- PUID=${ENV_PUID}
- PGID=${ENV_PGID}
- TZ={TIMEZONE}
volumes:
- ${SERVICES_DIR}/radarr:/config
- ${DATA_DIR}:/data
labels:
- "traefik.enable=true"
- "traefik.http.routers.dmc-radarr.rule=Host(${SUB_DOMAIN_RADARR}.${DOMAIN}
)"
- "traefik.http.routers.dmc-radarr.tls=true"
- "traefik.http.services.dmc-radarr.loadbalancer.server.port=7878"
- "traefik.http.routers.dmc-radarr.tls.certresolver=letsencrypt"
- "traefik.docker.network=global"
# Basic auth
- "traefik.http.middlewares.dmc-auth.basicauth.usersfile=/.htpasswd"
- "traefik.http.routers.dmc-radarr.middlewares=dmc-auth"
sonarr:
image: lscr.io/linuxserver/sonarr:latest
restart: unless-stopped
#security_opt: # Required for Docker versions below 20.10.10, update Docker for long term solution. Source: https://docs.linuxserver.io/faq#jammy
# - seccomp=unconfined
networks:
- global
- local
environment:
- PUID=${ENV_PUID}
- PGID=${ENV_PGID}
- TZ={TIMEZONE}
volumes:
- ${SERVICES_DIR}/sonarr:/config
- ${DATA_DIR}:/data
labels:
- "traefik.enable=true"
- "traefik.http.routers.dmc-sonarr.rule=Host(${SUB_DOMAIN_SONARR}.${DOMAIN}
)"
- "traefik.http.routers.dmc-sonarr.tls=true"
- "traefik.http.services.dmc-sonarr.loadbalancer.server.port=8989"
- "traefik.http.routers.dmc-sonarr.tls.certresolver=letsencrypt"
- "traefik.docker.network=global"
# Basic auth
- "traefik.http.middlewares.dmc-auth.basicauth.usersfile=/.htpasswd"
- "traefik.http.routers.dmc-sonarr.middlewares=dmc-auth"
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
restart: unless-stopped
networks:
- global
- local
environment:
- PUID=${ENV_PUID}
- PGID=${ENV_PGID}
- TZ={TIMEZONE}
volumes:
- ${SERVICES_DIR}/prowlarr:/config
labels:
- "traefik.enable=true"
- "traefik.http.routers.dmc-prowlarr.rule=Host(${SUB_DOMAIN_PROWLARR}.${DOMAIN}
)"
- "traefik.http.routers.dmc-prowlarr.tls=true"
- "traefik.http.services.dmc-prowlarr.loadbalancer.server.port=9696"
- "traefik.http.routers.dmc-prowlarr.tls.certresolver=letsencrypt"
- "traefik.docker.network=global"
# Basic auth
- "traefik.http.middlewares.dmc-auth.basicauth.usersfile=/.htpasswd"
- "traefik.http.routers.dmc-prowlarr.middlewares=dmc-auth"
jellyseerr:
image: fallenbagel/jellyseerr:latest
restart: unless-stopped
networks:
- global
- local
environment:
- LOG_LEVEL=debug
- TZ={TIMEZONE}
volumes:
- ${SERVICES_DIR}/jellyseerr:/app/config
labels:
- "traefik.enable=true"
- "traefik.http.routers.dmc-jellyseerr.rule=Host(${SUB_DOMAIN_JELLYSEERR}.${DOMAIN}
)"
- "traefik.http.routers.dmc-jellyseerr.tls=true"
- "traefik.http.services.dmc-jellyseerr.loadbalancer.server.port=5055"
- "traefik.http.routers.dmc-jellyseerr.tls.certresolver=letsencrypt"
- "traefik.docker.network=global"
`
from docker-media-center.
is there anything else needed?
from docker-media-center.
I'm still struggling, do you think is a bug or I am doing something stupidly wrong?
from docker-media-center.
When I navigated to the jellyfin domain earlier it did say 404. Meaning it does reach Traefik and since acme.json is also populated means everything works until it comes down to Jellyfin itself.
The issue itself has something to do with Jellyfin. Have you tried running other services like transmission, sonarr, etc.? Do those work?
from docker-media-center.
no, but it is likely the same, I can't test right now
what could i check to see the issue on jellyfin?
from docker-media-center.
The easiest and most straightforward thing you can test is the other services. If they do work, then it's definitely something with Jellyfin. If not, then it could be something else. Basically try to narrow down what could be the issue.
from docker-media-center.
cool, i'll check and revert here
from docker-media-center.
just a doubt maybe unrelated to the issue but it is related to traefik and I could not find a clarification.
If i want to set service1.mydomain.com to reach my service1 and service2.mydomain.com to reach my service2, I need 2 dns entries pointing to my same public IP, right? one service1.mydomain.com and other service2.mydomain.com, correct?
but if I want mysubdomain.domain.com/service1 to reach my service1 and mysubdomain.domain.com/service2 to reach my service2 I only need a dns entry to reach my public IP on mysubdomain.domain.com, right?
and is there a limitation on traefik working only on HTTP?
Thank you in advance
from docker-media-center.
Yes, it is possible to use /service1, etc. Which would result in one DNS entry. However, in that case you would have to add additional traefik labels and also make sure there's no conflicts or edge cases with the services. While it is possible, it is beyond the scope of this guide. The main reason why I chose to go with subdomains is to fully separate each service.
I am not sure why you would want to run HTTP while using traefik or even without using traefik. In any case it is highly recommended to run any services using HTTPS.
If you're only interested in running jellyfin, you should just look up the official or linuxserver docker set-up which should be more straightforward to install. If you still want to use this set-up, I would suggest trying to setup a simple traefik and nginx installation. Just to see if a service under traefik works. If that works, then try to use the same configuration with just jellyfin and traefik. The issue could be anything at this point, so it may be wise to just try installing the most simple possible thing using traefik and go from there. I am currently using this exact setup, so the issue should be somewhere on your side.
from docker-media-center.
okay, so for https I need a certificate for each dns entry or i can use one for something like: *.mydomain.com? or not adviced?
from docker-media-center.
You don't need to do anything, Traefik generates certificates automatically for every domain or subdomain you define in .env file. All of the generated certificates are stored in the acme.json file. You can actually open the file and see every certificate generated for each sub domain.
from docker-media-center.
mmm okay, cool, good to know, thank you :) I'll let you know how it goes
from docker-media-center.
Hi! I got a working set up for jellyfin with a mix and match of different places. I think we can close this but I also get the certificate not trust if you have any idea? :)
from docker-media-center.
I am glad you finally got it working! Are you using Traefik for certificates? Could you also take a screenshot of the issue?
from docker-media-center.
Thank you for your help!! :)
yes, default traefik certificates
from docker-media-center.
Related Issues (3)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from docker-media-center.