Added sonarr and prowlarr roles

This commit is contained in:
Mike Wilson
2023-01-30 17:06:30 -05:00
parent 117c30149f
commit 5dcdd7aad2
10 changed files with 105 additions and 9 deletions

View File

@@ -9,3 +9,5 @@ timezone: "America/New_York"
# Globals # Globals
personal_domain: "mjwilson.org" personal_domain: "mjwilson.org"
data_dir: "/mnt/tank/appdata"

View File

@@ -1 +1,2 @@
media_storage_mnt: /mnt/storage media_storage_mnt: /mnt/storage
media_gid: 997

View File

@@ -4,5 +4,8 @@
- hosts: pve-docker - hosts: pve-docker
roles: roles:
- pve-docker
- docker-compose - docker-compose
become: true - prowlarr
- sonarr
- radarr

View File

@@ -0,0 +1,21 @@
- name: Create install directory
file:
path: "{{ install_directory }}/prowlarr"
state: directory
owner: "{{ docker_user }}"
mode: "{{ docker_compose_directory_mask }}"
become: true
- name: Copy docker-compose file to destination
template:
src: docker-compose.yml
dest: "{{ install_directory }}/prowlarr/docker-compose.yml"
mode: "{{ docker_compose_file_mask }}"
validate: docker-compose -f %s config
become: true
- name: Start docker container
community.docker.docker_compose:
project_src: "{{ install_directory }}/prowlarr"
pull: true
remove_orphans: yes

View File

@@ -0,0 +1,24 @@
version: "{{ docker_compose_version }}"
networks:
traefik:
external: true
services:
prowlarr:
container_name: prowlarr
image: lscr.io/linuxserver/prowlarr:latest
restart: unless-stopped
networks:
- traefik
environment:
- PUID={{ primary_uid }}
- PGID={{ media_gid }}
- TZ={{ timezone }}
volumes:
- "{{ data_dir }}/prowlarr:/config"
- "{{ media_storage_mnt }}/data:/data"
labels:
traefik.enable: true
traefik.http.routers.prowlarr.rule: "Host(`prowlarr.local.{{ personal_domain }}`)"
traefik.http.routers.prowlarr.middlewares: lan-whitelist@file

View File

@@ -1,8 +1,8 @@
- name: Install basic packages - name: Install basic packages
package: ansible.builtin.package:
name: "{{ item }}" name: "{{ item }}"
become: true loop:
loop: - vim
- vim - doas
- doas - git
- git become: true

View File

@@ -1,9 +1,9 @@
- name: Create media group - name: Create media group
ansible.builtin.group: ansible.builtin.group:
name: media name: media
gid: 997
system: true system: true
state: present state: present
register: media_gid
- name: Set media directory permissions - name: Set media directory permissions
ansible.builtin.file: ansible.builtin.file:

View File

@@ -10,7 +10,7 @@
template: template:
src: docker-compose.yml src: docker-compose.yml
dest: "{{ install_directory }}/radarr/docker-compose.yml" dest: "{{ install_directory }}/radarr/docker-compose.yml"
mode: {{ docker_compose_file_mask }} mode: "{{ docker_compose_file_mask }}"
validate: docker-compose -f %s config validate: docker-compose -f %s config
become: true become: true

View File

@@ -0,0 +1,21 @@
- name: Create install directory
file:
path: "{{ install_directory }}/sonarr"
state: directory
owner: "{{ docker_user }}"
mode: "{{ docker_compose_directory_mask }}"
become: true
- name: Copy docker-compose file to destination
template:
src: docker-compose.yml
dest: "{{ install_directory }}/sonarr/docker-compose.yml"
mode: "{{ docker_compose_file_mask }}"
validate: docker-compose -f %s config
become: true
- name: Start docker container
community.docker.docker_compose:
project_src: "{{ install_directory }}/sonarr"
pull: true
remove_orphans: yes

View File

@@ -0,0 +1,24 @@
version: "{{ docker_compose_version }}"
networks:
traefik:
external: true
services:
sonarr:
container_name: sonarr
image: lscr.io/linuxserver/sonarr:develop
restart: unless-stopped
networks:
- traefik
environment:
- PUID={{ primary_uid }}
- PGID={{ media_gid }}
- TZ={{ timezone }}
volumes:
- "{{ data_dir }}/sonarr:/config"
- "{{ media_storage_mnt }}/data:/data"
labels:
traefik.enable: true
traefik.http.routers.sonarr.rule: "Host(`sonarr.local.{{ personal_domain }}`)"
traefik.http.routers.sonarr.middlewares: lan-whitelist@file