aboutsummaryrefslogtreecommitdiffstats
path: root/roles/jails/16_dl/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/jails/16_dl/tasks/main.yml')
-rw-r--r--roles/jails/16_dl/tasks/main.yml99
1 files changed, 81 insertions, 18 deletions
diff --git a/roles/jails/16_dl/tasks/main.yml b/roles/jails/16_dl/tasks/main.yml
index b187447..0b26313 100644
--- a/roles/jails/16_dl/tasks/main.yml
+++ b/roles/jails/16_dl/tasks/main.yml
@@ -2,6 +2,33 @@
name: jail
tasks_from: jail_setup
+- name: Create storage group
+ shell: "pw groupshow storage || pw groupadd storage -g 1001"
+ register: _storage_group
+ changed_when: "'storage' not in _storage_group.stdout"
+
+- name: Create storage user
+ shell: "id storage || pw useradd storage -u 1001 -g 1001 -d / -s /bin/sh"
+ register: _storage_user
+ changed_when: _storage_user.rc != 0
+
+- name: Add service users to storage group
+ shell: "pw groupmod storage -m sonarr,radarr,lidarr,transmission"
+ changed_when: false
+
+- name: Configure transmission to run as storage user
+ community.general.sysrc:
+ name: transmission_user
+ value: storage
+
+- name: Fix transmission config directory ownership
+ file:
+ path: /usr/local/etc/transmission/home
+ state: directory
+ owner: storage
+ group: storage
+ recurse: true
+
- name: Configure transmission download directory
community.general.sysrc:
name: transmission_download_dir
@@ -14,52 +41,86 @@
owner: root
group: wheel
mode: "0644"
- #force: false
+ notify: Restart transmission
-- name: Deploy initial nzbget config
+- name: Deploy nzbget config
template:
- src: "{{ jail_role_dir }}/templates/nzbget.conf.j2"
- dest: /usr/local/share/nzbget/nzbget.conf
+ src: "{{ jail_role_dir }}/templates/usr_local_share_nzbget_nzbget.conf.j2"
+ dest: /usr/local/etc/nzbget.conf
owner: root
group: wheel
- mode: "0644"
- force: false
+ mode: "0444"
+ notify: Restart nzbget
+
+- name: Create nzbget data directory
+ file:
+ path: /var/db/nzbget
+ state: directory
+ owner: storage
+ group: storage
+ mode: "0755"
+
+- name: Configure nzbget config path
+ community.general.sysrc:
+ name: nzbget_conf
+ value: /usr/local/etc/nzbget.conf
+ notify: Restart nzbget
+
+- name: Configure nzbget user
+ community.general.sysrc:
+ name: nzbget_user
+ value: storage
+ notify: Restart nzbget
- name: Deploy initial prowlarr config
template:
src: "{{ jail_role_dir }}/templates/prowlarr_config.xml.j2"
dest: /usr/local/prowlarr/config.xml
- owner: root
- group: wheel
+ owner: prowlarr
+ group: prowlarr
mode: "0644"
- force: false
+ notify: Restart prowlarr
- name: Deploy initial sonarr config
template:
src: "{{ jail_role_dir }}/templates/sonarr_config.xml.j2"
dest: /usr/local/sonarr/config.xml
- owner: root
- group: wheel
+ owner: sonarr
+ group: sonarr
mode: "0644"
- force: false
+ notify: Restart sonarr
- name: Deploy initial radarr config
template:
src: "{{ jail_role_dir }}/templates/radarr_config.xml.j2"
dest: /usr/local/radarr/config.xml
- owner: root
- group: wheel
+ owner: radarr
+ group: radarr
mode: "0644"
- force: false
+ notify: Restart radarr
- name: Deploy initial lidarr config
template:
src: "{{ jail_role_dir }}/templates/lidarr_config.xml.j2"
dest: /usr/local/lidarr/config.xml
- owner: root
- group: wheel
+ owner: lidarr
+ group: lidarr
mode: "0644"
- force: false
+ notify: Restart lidarr
+
+# Replace bundled ffprobe with system version (bundled version lacks VVC/xHE-AAC support)
+- name: Replace bundled ffprobe with system ffprobe
+ file:
+ src: /usr/local/bin/ffprobe
+ dest: "/usr/local/share/{{ item }}/bin/ffprobe"
+ state: link
+ force: true
+ loop:
+ - sonarr
+ - radarr
+ notify:
+ - Restart sonarr
+ - Restart radarr
- name: Create wireguard config directory
file:
@@ -85,6 +146,7 @@
owner: root
group: wheel
mode: "0755"
+ notify: Get random wireguard tunnel
- name: Deploy wg_random_tunnel rc.d script
template:
@@ -93,6 +155,7 @@
owner: root
group: wheel
mode: "0755"
+ notify: Get random wireguard tunnel
- name: Deploy crontab
template: