# Note: requires an up-to-date ansible version to make us of docker compose file ## TODO: use tracker blocklist # - name: Disable system process become: true ansible.builtin.systemd: name: transmission-daemon state: stopped - name: Create Transmission directories become: true ansible.builtin.file: path: '{{ item.path }}' owner: '{{ item.owner }}' group: '{{ item.group }}' mode: '0755' state: directory loop: - path: '{{ transmission_app_dir }}' owner: root group: root - path: '{{ transmission_app_dir }}/config' owner: root group: root - path: '{{ transmission_app_dir }}/nginx.conf.d' owner: sonny group: sonny - path: '{{ transmission_download_dir }}' owner: sonny group: sonny - path: '{{ transmission_incomplete_dir }}' owner: sonny group: sonny - name: Remove previous transmission configurations become: true ansible.builtin.file: path: '{{ item }}' state: absent loop: - /etc/systemd/system/transmission-daemon.service.d - /home/sonny/.config/transmission-daemon - name: Copy Dockerfile become: true ansible.builtin.copy: src: files/transmission/Dockerfile dest: '{{ transmission_app_dir }}/Dockerfile' owner: sonny group: sonny mode: '0755' - name: Copy docker compose configuration become: true ansible.builtin.template: src: templates/transmission/docker-compose.j2 dest: '{{ transmission_app_dir }}/docker-compose.yml' owner: sonny group: sonny mode: '0755' # Prevents Tranmission from overwiting configuration files - name: Stop docker compose containers community.docker.docker_compose_v2: project_src: '{{ transmission_app_dir }}' state: stopped - name: Copy Transmission configuration become: true ansible.builtin.template: src: 'templates/transmission/config.j2' dest: '{{ transmission_app_dir }}/config/settings.json' owner: sonny group: sonny mode: '0755' - name: Copy NGINX configuration become: true ansible.builtin.template: src: templates/transmission/nginx.j2 dest: '{{ transmission_app_dir }}/nginx.conf.d/default.conf' owner: sonny group: sonny mode: '0755' - name: Start container community.docker.docker_compose_v2: project_src: '{{ transmission_app_dir }}' build: always remove_orphans: true state: restarted pull: always