- hosts: localhost tasks: - name: create directories become: true file: path: '{{ item }}' state: directory owner: '{{ ansible_user_uid }}' group: '{{ ansible_user_gid }}' loop: - '{{ configuration_dir }}' - '{{ media_dir }}' - '{{ cache_dir }}' - '{{ docker_dir }}' - name: copy docker-compose file template: src: 'templates/docker-compose.j2' dest: '{{ docker_dir }}/docker-compose.yml' owner: '{{ ansible_user_uid }}' group: '{{ ansible_user_gid }}' - name: stop jellyfin command: docker compose --file docker-compose.yml down args: chdir: '{{ docker_dir }}' - name: pull {{ image_tag }} command: docker compose --file docker-compose.yml pull args: chdir: '{{ docker_dir }}' - name: start jellyfin command: docker compose --file docker-compose.yml up --detach args: chdir: '{{ docker_dir }}' vars: image_tag: jellyfin/jellyfin:10.10.0 docker_dir: '/srv/docker/jellyfin' configuration_dir: '/home/sonny/.config/jellyfin' media_dir: '/home/sonny/media/video' cache_dir: '/home/sonny/media/cache'