olimp/roles/jellyfin/templates/docker-compose.yml.j2
2025-10-17 14:36:13 +00:00

40 lines
1.1 KiB
Django/Jinja

services:
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
restart: unless-stopped
environment:
- TZ={{ timezone }}
- JELLYFIN_PublishedServerUrl=http://{{ ansible_host }}:{{ jellyfin_port }}
- JELLYFIN_EnableDLNA=true
- JELLYFIN_EnableUPnP=true
user: "1000:1000"
volumes:
- {{ jellyfin_config_dir }}:/config
- {{ jellyfin_cache_dir }}:/cache
- {{ jellyfin_logs_dir }}:/log
- {{ jellyfin_media_path }}:/media:ro
- /dev/dri:/dev/dri
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
- /dev/dri/card1:/dev/dri/card1
ports:
- "{{ jellyfin_port }}:8096"
- "1900:1900/udp"
- "7359:7359/udp"
network_mode: bridge
tmpfs:
- /tmp
security_opt:
- no-new-privileges:true
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8096/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s