Update 3 files

- /group_vars/all.yml
- /roles/jellyfin/tasks/main.yml
- /roles/jellyfin/templates/docker-compose.yml.j2
This commit is contained in:
Administrator 2025-10-17 11:52:02 +00:00
parent 8a027c1ab7
commit 6fa82b35ed
3 changed files with 91 additions and 0 deletions

View File

@ -83,7 +83,10 @@ service_config_base: "/mnt/service"
jellyfin_base_dir: "{{ service_config_base }}/jellyfin"
jellyfin_config_dir: "{{ jellyfin_base_dir }}/config"
jellyfin_cache_dir: "{{ jellyfin_base_dir }}/cache"
jellyfin_logs_dir: "{{ jellyfin_base_dir }}/logs"
jellyfin_media_path: "/mnt/video"
jellyfin_port: "45131"
jellyfin_hw_acceleration: true
# Audiobookshelf
audiobookshelf_base_dir: "{{ service_config_base }}/audiobookshelf"

View File

@ -0,0 +1,53 @@
---
- name: Create Jellyfin directories
file:
path: "{{ item }}"
state: directory
mode: 0755
loop:
- "{{ jellyfin_base_dir }}"
- "{{ jellyfin_config_dir }}"
- "{{ jellyfin_cache_dir }}"
- "{{ jellyfin_logs_dir }}"
- name: Ensure media directory exists
file:
path: "{{ jellyfin_media_path }}"
state: directory
mode: 0755
- name: Deploy Jellyfin docker-compose.yml
template:
src: docker-compose.yml.j2
dest: "{{ jellyfin_base_dir }}/docker-compose.yml"
mode: 0644
- name: Start Jellyfin services
shell: |
cd {{ jellyfin_base_dir }}
docker compose up -d
args:
executable: /bin/bash
- name: Wait for Jellyfin to start
pause:
seconds: 30
- name: Check Jellyfin container status
shell: docker ps --filter name=jellyfin
register: jellyfin_status
changed_when: false
- name: Show Jellyfin status
debug:
var: jellyfin_status.stdout
- name: Verify Jellyfin is accessible
uri:
url: "http://{{ ansible_host }}:{{ jellyfin_port }}"
status_code: 200
timeout: 60
register: jellyfin_accessible
until: jellyfin_accessible.status == 200
retries: 10
delay: 10

View File

@ -0,0 +1,35 @@
version: '3.8'
services:
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
restart: unless-stopped
network_mode: "host"
environment:
- TZ={{ timezone }}
- JELLYFIN_PublishedServerUrl=http://{{ ansible_host }}:{{ jellyfin_port }}
volumes:
- {{ jellyfin_config_dir }}:/config
- {{ jellyfin_cache_dir }}:/cache
- {{ jellyfin_logs_dir }}:/log
- {{ jellyfin_media_path }}:/media:ro
{% if jellyfin_hw_acceleration %}
# Для аппаратного ускорения
- /dev/dri:/dev/dri
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
- /dev/dri/card0:/dev/dri/card0
{% endif %}
ports:
- "{{ jellyfin_port }}:8096"
privileged: false
read_only: false
# Оптимизация для больших библиотек
tmpfs:
- /tmp
ulimits:
nproc: 65535
nofile:
soft: 65535
hard: 65535