/
/
/
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/tv:/media/tv:ro
26 - {{ storage_base_path }}/media/music:/media/music:ro
27
28 {% if jellyfin_hwaccel_enabled %}
29 # Hardware Access for GPU transcoding
30 devices:
31 - "{{ jellyfin_vaapi_map_dri_dir }}:{{ jellyfin_vaapi_map_dri_dir }}"
32 group_add:
33 - "video"
34 - "render"
35 {% endif %}
36
37 # Network
38 networks:
39 - {{ storage_docker_network }}
40
41networks:
42 {{ storage_docker_network }}:
43 external: true
44
45