debian-setup/tasks/transmission.yml

93 lines
2.4 KiB
YAML

# 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