This commit is contained in:
jpmvaz
2026-09-13 20:27:51 +01:00
commit 37b00787b9
23 changed files with 2581 additions and 0 deletions
+79
View File
@@ -0,0 +1,79 @@
services:
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
# Optional: run as a specific user/group instead of root
# Replace 1000:1000 with your actual UID:GID (run `id` in terminal to find yours)
# user: "1000:1000"
ports:
- 8096:8096/tcp # Main HTTP web UI & API
- 8920:8920/tcp # HTTPS web UI (optional, requires cert setup)
- 7359:7359/udp # Local network auto-discovery (DLNA)
- 1900:1900/udp # DLNA service discovery (optional, requires host network)
volumes:
# Jellyfin configuration & metadata database
- ./jellyfin/config:/config
# Transcoding cache (can be tmpfs for better performance)
- ./jellyfin/cache:/cache
# --- Media Libraries ---
# Add as many bind mounts as you need for your media folders.
# Set read_only: true for libraries Jellyfin should not modify.
- type: bind
source: ./media/movies
target: /media/movies
read_only: true
- type: bind
source: ./media/tvshows
target: /media/tvshows
read_only: true
- type: bind
source: ./media/music
target: /media/music
read_only: true
# Optional: custom fonts for subtitle burn-in during transcoding
# - type: bind
# source: ./fonts
# target: /usr/local/share/fonts/custom
# read_only: true
# Optional: fallback fonts directory
# (set fallback font path to /fallback_fonts in Jellyfin server settings)
# - type: bind
# source: ./fallback_fonts
# target: /fallback_fonts
# read_only: true
environment:
# Optional: set this to your server's public URL for correct autodiscovery
- JELLYFIN_PublishedServerUrl=http://tube.martinhal.tech:8096
# Timezone (change to your local timezone)
- TZ=Europe/Lisbon
# Optional: enable GPU hardware acceleration (Intel/AMD iGPU via /dev/dri)
# Uncomment the section below if your host has a compatible GPU
# devices:
# - /dev/dri:/dev/dri
# Required if using host network mode for full DLNA support
# network_mode: host
# Needed for Docker healthcheck to pass in host network mode
extra_hosts:
- "host.docker.internal:host-gateway"
restart: unless-stopped
# Optional: resource limits to prevent Jellyfin from consuming all system resources
# deploy:
# resources:
# limits:
# memory: 4G
# cpus: "4.0"