- /group_vars/all.yml - /roles/jellyfin/tasks/main.yml - /roles/jellyfin/templates/docker-compose.yml.j2
53 lines
1.2 KiB
YAML
53 lines
1.2 KiB
YAML
---
|
|
- 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 |