aboutsummaryrefslogtreecommitdiff
path: root/ansible/roles/med_dl
diff options
context:
space:
mode:
Diffstat (limited to 'ansible/roles/med_dl')
-rw-r--r--ansible/roles/med_dl/tasks/main.yaml5
-rw-r--r--ansible/roles/med_dl/tasks/setup.yaml38
-rw-r--r--ansible/roles/med_dl/templates/docker-compose.yaml.j267
3 files changed, 110 insertions, 0 deletions
diff --git a/ansible/roles/med_dl/tasks/main.yaml b/ansible/roles/med_dl/tasks/main.yaml
new file mode 100644
index 0000000..c4d4a7f
--- /dev/null
+++ b/ansible/roles/med_dl/tasks/main.yaml
@@ -0,0 +1,5 @@
+---
+
+- name: 'Run the setup tasks'
+ ansible.builtin.import_tasks: 'setup.yaml'
+ tags: 'med_dl'
diff --git a/ansible/roles/med_dl/tasks/setup.yaml b/ansible/roles/med_dl/tasks/setup.yaml
new file mode 100644
index 0000000..46affac
--- /dev/null
+++ b/ansible/roles/med_dl/tasks/setup.yaml
@@ -0,0 +1,38 @@
+---
+
+- name: 'setup | Ensure required vars are set'
+ ansible.builtin.assert:
+ that:
+ - item | mandatory
+ loop:
+ - '{{ med_dl_nas_mount_path }}'
+ no_log: true
+
+- name: 'setup | Install required pkgs'
+ ansible.builtin.package:
+ name:
+ - 'nfs-common'
+
+- name: 'setup | Create the mount dir'
+ ansible.builtin.file:
+ path: '/mnt/data'
+ state: 'directory'
+ mode: '755'
+
+- name: 'setup | Setup the NFS mount'
+ ansible.posix.mount:
+ src: '{{ med_dl_nas_mount_path }}'
+ path: '/mnt/data'
+ state: 'mounted'
+ fstype: 'nfs'
+
+- name: 'setup | Copy the docker-compose file'
+ ansible.builtin.template:
+ src: 'docker-compose.yaml.j2'
+ dest: 'docker-compose.yaml'
+ mode: '644'
+
+- name: 'setup | Start the service'
+ ansible.builtin.command: 'docker-compose up -d'
+ register: '_compose_up_cmd'
+ changed_when: '_compose_up_cmd.rc == 0'
diff --git a/ansible/roles/med_dl/templates/docker-compose.yaml.j2 b/ansible/roles/med_dl/templates/docker-compose.yaml.j2
new file mode 100644
index 0000000..fa25db0
--- /dev/null
+++ b/ansible/roles/med_dl/templates/docker-compose.yaml.j2
@@ -0,0 +1,67 @@
+{{ ansible_managed | comment }}
+version: "3"
+services:
+ prowlarr:
+ image: lscr.io/linuxserver/prowlarr:latest
+ restart: unless-stopped
+ container_name: prowlarr
+ volumes:
+ - prowlarr-config:/config
+ ports:
+ - 9696:9696
+ environment:
+ - PUID=1001
+ - PGID=1001
+ - TZ=Etc/UTC
+ networks:
+ - med-dl
+
+ radarr:
+ image: lscr.io/linuxserver/radarr:latest
+ restart: unless-stopped
+ container_name: radarr
+ volumes:
+ - radarr-config:/config
+ - /mnt/data/downloads:/mnt/data/downloads
+ - /mnt/data/mov:/mov
+ ports:
+ - 7878:7878
+ environment:
+ - PUID=1001
+ - PGID=1001
+ - TZ=Etc/UTC
+ networks:
+ - med-dl
+
+ sonarr:
+ image: lscr.io/linuxserver/sonarr:latest
+ restart: unless-stopped
+ container_name: sonarr
+ volumes:
+ - sonarr-config:/config
+ - /mnt/data/downloads:/mnt/data/downloads
+ - /mnt/data/tv:/tv
+ ports:
+ - 8989:8989
+ environment:
+ - PUID=1001
+ - PGID=1001
+ - TZ=Etc/UTC
+ networks:
+ - med-dl
+
+volumes:
+ prowlarr-config:
+ name: prowlarr-config
+ radarr-config:
+ name: radarr-config
+ sonarr-config:
+ name: sonarr-config
+
+networks:
+ med-dl:
+ name: med-dl
+ driver: bridge
+ driver_opts:
+ com.docker.network.driver.mtu: 1420
+