Refactor nftables, vpn and transmission configuration

This commit is contained in:
sonny 2025-03-09 20:54:41 +01:00
parent 465a5d2887
commit dcbdfdc422
24 changed files with 292 additions and 192 deletions

View file

@ -1,60 +1,93 @@
# transmission's configuration file does not change while the service is
# still running
- name: stop transmission daemon
# 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
systemd:
ansible.builtin.systemd:
name: transmission-daemon
state: stopped
- name: create transmission directories
- name: Create Transmission directories
become: true
file:
ansible.builtin.file:
path: '{{ item.path }}'
mode: '{{ item.mode }}'
owner: '{{ item.owner }}'
group: '{{ item.group }}'
mode: '0755'
state: directory
loop:
- {
path: '{{ ansible_env.HOME }}/.config/transmission-daemon',
mode: 755,
owner: 'sonny',
group: 'sonny',
}
- {
path: '/etc/systemd/system/transmission-daemon.service.d',
mode: 755,
owner: 'root',
group: 'root',
}
- 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: copy transmission templates
- name: Remove previous transmission configurations
become: true
template:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
mode: '{{ item.mode }}'
owner: '{{ item.owner }}'
group: '{{ item.group }}'
ansible.builtin.file:
path: '{{ item }}'
state: absent
loop:
- {
src: 'templates/systemd/transmission.j2',
dest: '/etc/systemd/system/transmission-daemon.service.d/override.conf',
mode: '755',
owner: 'root',
group: 'root',
}
- {
src: 'templates/transmission.j2',
dest: '{{ ansible_env.HOME }}/.config/transmission-daemon/settings.json',
mode: '0600',
owner: 'sonny',
group: 'sonny',
}
- '/etc/systemd/system/transmission-daemon.service.d'
- '{{ ansible_env.HOME }}/.config/transmission-daemon'
- name: start transmission daemon
- name: Copy Dockerfile
become: true
systemd:
name: transmission-daemon
state: started
enabled: 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