diff --git a/ansible/inventory/host_vars/titania.incus.yml b/ansible/inventory/host_vars/titania.incus.yml index ac24901..d50ff90 100644 --- a/ansible/inventory/host_vars/titania.incus.yml +++ b/ansible/inventory/host_vars/titania.incus.yml @@ -74,6 +74,12 @@ haproxy_backends: backend_port: 22084 health_path: "/api/ping" + - subdomain: "jellyfin" + backend_host: "rosalind.incus" + backend_port: 22086 + health_path: "/health" + timeout_server: 300s + - subdomain: "arke" backend_host: "sycorax.incus" backend_port: 25540 diff --git a/ansible/jellyfin/deploy.yml b/ansible/jellyfin/deploy.yml index 24e5ebe..0d89a68 100644 --- a/ansible/jellyfin/deploy.yml +++ b/ansible/jellyfin/deploy.yml @@ -46,11 +46,6 @@ - "{{ jellyfin_config_dir }}" - "{{ jellyfin_cache_dir }}" - - name: Check if Docker is installed - ansible.builtin.stat: - path: /var/run/docker.sock - register: docker_socket - - name: Deploy Docker Compose configuration ansible.builtin.template: src: docker-compose.yml.j2 @@ -59,9 +54,7 @@ group: "{{ jellyfin_group }}" mode: '0644' notify: - - Stop Jellyfin - - Pull Jellyfin image - - Start Jellyfin + - Restart Jellyfin - name: Create systemd service for Docker Compose ansible.builtin.template: @@ -71,37 +64,23 @@ notify: - Reload systemd - Enable Jellyfin - - Start Jellyfin handlers: - name: Reload systemd ansible.builtin.systemd: daemon_reload: true - - name: Stop Jellyfin - ansible.builtin.command: - cmd: "docker compose down" - chdir: "{{ jellyfin_directory }}" - become_user: "{{ jellyfin_user }}" - become: true - - - name: Pull Jellyfin image - ansible.builtin.command: - cmd: "docker compose pull" - chdir: "{{ jellyfin_directory }}" - become_user: "{{ jellyfin_user }}" - become: true - - - name: Start Jellyfin - ansible.builtin.command: - cmd: "docker compose up -d" - chdir: "{{ jellyfin_directory }}" - become_user: "{{ jellyfin_user }}" - become: true + - name: Restart Jellyfin + community.docker.docker_compose_v2: + project_src: "{{ jellyfin_directory }}" + pull: always + state: present + become: true + become_user: "{{ jellyfin_user }}" - name: Enable Jellyfin ansible.builtin.systemd: name: jellyfin enabled: true state: started - daemon_reload: true \ No newline at end of file + daemon_reload: true diff --git a/ansible/jellyfin/docker-compose.yml.j2 b/ansible/jellyfin/docker-compose.yml.j2 index b0cdcfe..6aa3c34 100644 --- a/ansible/jellyfin/docker-compose.yml.j2 +++ b/ansible/jellyfin/docker-compose.yml.j2 @@ -26,8 +26,6 @@ services: syslog-address: "udp://prospero.incus:1514" tag: "jellyfin" environment: - - PUID={{ jellyfin_uid }} - - PGID={{ jellyfin_gid }} - TZ=America/Toronto - JELLYFIN_PublishedServerUrl={{ jellyfin_published_server_url }} extra_hosts: diff --git a/ansible/jellyfin/jellyfin.service.j2 b/ansible/jellyfin/jellyfin.service.j2 index 55bfc47..26a55c8 100644 --- a/ansible/jellyfin/jellyfin.service.j2 +++ b/ansible/jellyfin/jellyfin.service.j2 @@ -5,14 +5,13 @@ After=docker.service Requires=docker.service [Service] -Type=oneshot -RemainAfterExit=yes +Type=simple WorkingDirectory={{ jellyfin_directory }} User={{ jellyfin_user }} -ExecStart=/usr/bin/docker compose up -d +ExecStart=/usr/bin/docker compose up --remove-orphans ExecStop=/usr/bin/docker compose down Restart=on-failure RestartSec=30 [Install] -WantedBy=default.target \ No newline at end of file +WantedBy=multi-user.target