Added sonarr and prowlarr roles
This commit is contained in:
@@ -9,3 +9,5 @@ timezone: "America/New_York"
|
||||
|
||||
# Globals
|
||||
personal_domain: "mjwilson.org"
|
||||
|
||||
data_dir: "/mnt/tank/appdata"
|
||||
|
@@ -1 +1,2 @@
|
||||
media_storage_mnt: /mnt/storage
|
||||
media_gid: 997
|
||||
|
@@ -4,5 +4,8 @@
|
||||
|
||||
- hosts: pve-docker
|
||||
roles:
|
||||
- pve-docker
|
||||
- docker-compose
|
||||
become: true
|
||||
- prowlarr
|
||||
- sonarr
|
||||
- radarr
|
||||
|
21
ansible/roles/prowlarr/tasks/main.yml
Normal file
21
ansible/roles/prowlarr/tasks/main.yml
Normal 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
|
24
ansible/roles/prowlarr/templates/docker-compose.yml
Normal file
24
ansible/roles/prowlarr/templates/docker-compose.yml
Normal 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
|
@@ -1,8 +1,8 @@
|
||||
- name: Install basic packages
|
||||
package:
|
||||
ansible.builtin.package:
|
||||
name: "{{ item }}"
|
||||
become: true
|
||||
loop:
|
||||
- vim
|
||||
- doas
|
||||
- git
|
||||
loop:
|
||||
- vim
|
||||
- doas
|
||||
- git
|
||||
become: true
|
||||
|
@@ -1,9 +1,9 @@
|
||||
- name: Create media group
|
||||
ansible.builtin.group:
|
||||
name: media
|
||||
gid: 997
|
||||
system: true
|
||||
state: present
|
||||
register: media_gid
|
||||
|
||||
- name: Set media directory permissions
|
||||
ansible.builtin.file:
|
||||
|
@@ -10,7 +10,7 @@
|
||||
template:
|
||||
src: 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
|
||||
become: true
|
||||
|
||||
|
21
ansible/roles/sonarr/tasks/main.yml
Normal file
21
ansible/roles/sonarr/tasks/main.yml
Normal 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
|
24
ansible/roles/sonarr/templates/docker-compose.yml
Normal file
24
ansible/roles/sonarr/templates/docker-compose.yml
Normal 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
|
Reference in New Issue
Block a user