ARRFLIX/docker-compose.yml
s8n 84799e1bd3 Branding fixes: triple-logo overlap + Quick Connect disable + index.html override
- Logo override: removed phantom .imgLogoIcon selector + split content/
  background-image per element type (.adminDrawerLogo img uses content:,
  .pageTitleWithLogo uses background-image:). Triple-stack gone.
- Quick Connect: server-disabled via POST /System/Configuration with
  QuickConnectAvailable=false; belt-and-braces .btnQuick CSS hide.
- index.html bind-mount: title=ARRFLIX, application-name=ARRFLIX,
  apple-touch-icon + favicon set to logo data URL, .splashLogo background
  replaces Jellyfin banner with ARRFLIX wordmark. Mounted via compose
  /opt/docker/jellyfin/web-overrides/index.html → /jellyfin/jellyfin-web/.
- Doc 04 updated: §3a logo fix, §4g Quick Connect disabled.
- Compose synced from nullstone (PublishedServerUrl + Host + bind mount).
2026-05-08 03:09:25 +01:00

42 lines
1.6 KiB
YAML

# Jellyfin — self-hosted media server (LAN-only)
# Deploy path on nullstone: /opt/docker/jellyfin/
# Domain: arrflix.s8n.ru (LAN-only via Pi-hole local DNS + no-guest middleware)
#
# Notes:
# - GTX 1660 Ti present but nvidia-smi failing on host. CPU transcode only
# until driver is fixed; revisit hwaccel after fix.
# - Media mounted read-only into container; write only to /config + /cache.
# - userns: host matches nullstone Docker convention (host UID 1000 owns volumes).
# - Cert via existing letsencrypt resolver (Gandi DNS-01) — works without
# public A record.
services:
jellyfin:
image: jellyfin/jellyfin:10.10.3
container_name: jellyfin
restart: unless-stopped
user: "1000:1000"
userns_mode: "host"
environment:
- TZ=Europe/London
- JELLYFIN_PublishedServerUrl=https://arrflix.s8n.ru
volumes:
- /home/docker/jellyfin/config:/config
- /home/docker/jellyfin/cache:/cache
- /home/user/media:/media:ro
- /opt/docker/jellyfin/web-overrides/index.html:/jellyfin/jellyfin-web/index.html:ro
networks:
- proxy
labels:
- "traefik.enable=true"
- "traefik.docker.network=proxy"
- "traefik.http.routers.jellyfin.rule=Host(`arrflix.s8n.ru`)"
- "traefik.http.routers.jellyfin.entrypoints=websecure"
- "traefik.http.routers.jellyfin.tls=true"
- "traefik.http.routers.jellyfin.tls.certresolver=letsencrypt"
- "traefik.http.routers.jellyfin.middlewares=security-headers@file,no-guest@file"
- "traefik.http.services.jellyfin.loadbalancer.server.port=8096"
networks:
proxy:
external: true