/
/
/
Ansible role that provisions my storage server.
1# templates/jellyfin-compose.yml.j2
2# Jellyfin Media Server Docker Compose Configuration
3# Generated by Ansible - DO NOT EDIT MANUALLY
4
5services:
6 jellyfin:
7 image: {{ jellyfin_image }}:{{ jellyfin_version }}
8 container_name: jellyfin
9 restart: unless-stopped
10
11 # Port Mapping
12 ports:
13 - "{{ jellyfin_host_port }}:{{ jellyfin_port }}"
14 # Additional ports for DLNA/UPnP if needed
15 - "1900:1900/udp" # DLNA
16 - "7359:7359/udp" # Local network discovery
17
18 # Volume Mounts
19 volumes:
20 - {{ jellyfin_config_dir }}:/config
21 - {{ jellyfin_cache_dir }}:/cache
22 - {{ jellyfin_media_dir }}:/media:ro
23 # Additional media paths can be added here
24 - {{ storage_base_path }}/media/movies:/media/movies:ro
25 - {{ storage_base_path }}/media/shows:/media/shows:ro
26
27{% if jellyfin_hwaccel_enabled | default(false) %}
28 # Intel iGPU hardware transcoding
29 devices:
30 - {{ jellyfin_dri_device }}:{{ jellyfin_dri_device }}
31 device_cgroup_rules:
32 - "c 226:* rmw"
33 group_add:
34 - "{{ jellyfin_render_group_gid }}"
35 - "{{ jellyfin_video_group_gid }}"
36{% endif %}
37
38 # Network
39 networks:
40 - {{ storage_docker_network }}
41
42networks:
43 {{ storage_docker_network }}:
44 external: true
45
46