Cloned radarr role to other roles

This commit is contained in:
Mike Wilson
2023-02-01 21:15:30 -05:00
parent 2cec34cfc9
commit 1535c7bd49
15 changed files with 157 additions and 67 deletions

View File

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

View File

@@ -0,0 +1,29 @@
- name: Create service user
user:
name: "{{ role_name }}"
groups: "{{ media_group }}"
append: yes
register: service_user
become: true
- name: Create install directory
file:
path: "{{ install_directory }}/{{ role_name }}"
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 }}/{{ role_name }}/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 }}/{{ role_name }}"
pull: true
remove_orphans: yes

View File

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

View File

@@ -1,6 +1,6 @@
- name: Create install directory
file:
path: "{{ install_directory }}/radarr"
path: "{{ install_directory }}/{{ role_name }}"
state: directory
owner: "{{ docker_user }}"
mode: "{{ docker_compose_directory_mask }}"
@@ -9,13 +9,13 @@
- name: Copy docker-compose file to destination
template:
src: docker-compose.yml
dest: "{{ install_directory }}/radarr/docker-compose.yml"
dest: "{{ install_directory }}/{{ role_name }}/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 }}/radarr"
project_src: "{{ install_directory }}/{{ role_name }}"
pull: true
remove_orphans: yes

View File

@@ -1,6 +1,12 @@
- name: Create service user
user:
name: "{{ role_name }}"
register: service_user
become: true
- name: Create install directory
file:
path: "{{ install_directory }}/radarr"
path: "{{ install_directory }}/{{ role_name }}"
state: directory
owner: "{{ docker_user }}"
mode: "{{ docker_compose_directory_mask }}"
@@ -9,13 +15,13 @@
- name: Copy docker-compose file to destination
template:
src: docker-compose.yml
dest: "{{ install_directory }}/radarr/docker-compose.yml"
dest: "{{ install_directory }}/{{ role_name }}/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 }}/radarr"
project_src: "{{ install_directory }}/{{ role_name }}"
pull: true
remove_orphans: yes

View File

@@ -5,18 +5,18 @@ networks:
external: true
services:
overseerr:
container_name: overseerr
{{ role_name }}:
container_name: "{{ role_name }}"
image: lscr.io/linuxserver/overseerr:latest
restart: unless-stopped
networks:
- traefik
environment:
- PUID={{ primary_uid }}
- PGID={{ primary_gid }}
- TZ={{ timezone }}
- "PUID={{ service_user.uid }}"
- "PGID={{ service_user.uid }}"
- "TZ={{ timezone }}"
volumes:
- "{{ data_dir }}/overseerr:/config"
- "{{ data_dir }}/{{ role_name }}:/config"
labels:
traefik.enable: true
traefik.http.routers.overseerr.rule: "Host(`overseerr.{{ personal_domain }}`)"
traefik.http.routers.{{ role_name }}.rule: "Host(`{{ role_name }}.{{ personal_domain }}`)"

View File

@@ -1,6 +1,14 @@
- name: Create service user
user:
name: "{{ role_name }}"
groups: "{{ media_group }}"
append: yes
register: service_user
become: true
- name: Create install directory
file:
path: "{{ install_directory }}/prowlarr"
path: "{{ install_directory }}/{{ role_name }}"
state: directory
owner: "{{ docker_user }}"
mode: "{{ docker_compose_directory_mask }}"
@@ -9,13 +17,13 @@
- name: Copy docker-compose file to destination
template:
src: docker-compose.yml
dest: "{{ install_directory }}/prowlarr/docker-compose.yml"
dest: "{{ install_directory }}/{{ role_name }}/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"
project_src: "{{ install_directory }}/{{ role_name }}"
pull: true
remove_orphans: yes

View File

@@ -5,20 +5,20 @@ networks:
external: true
services:
prowlarr:
container_name: prowlarr
{{ role_name }}:
container_name: "{{ role_name }}"
image: lscr.io/linuxserver/prowlarr:latest
restart: unless-stopped
networks:
- traefik
environment:
- PUID={{ primary_uid }}
- PGID={{ media_gid }}
- TZ={{ timezone }}
- "PUID={{ service_user.uid }}"
- "PGID={{ media_gid }}"
- "TZ={{ timezone }}"
volumes:
- "{{ data_dir }}/prowlarr:/config"
- "{{ data_dir }}/{{ role_name }}:/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
traefik.http.routers.{{ role_name }}.rule: "Host(`{{ role_name }}.local.{{ personal_domain }}`)"
traefik.http.routers.{{ role_name }}.middlewares: lan-whitelist@file

View File

@@ -1,8 +1,6 @@
- name: Install basic packages
ansible.builtin.package:
name: "{{ item }}"
loop:
- vim
- doas
- git
- name: Create media group
group:
name: "{{ media_group }}"
gid: "{{ media_gid }}"
state: present
become: true

View File

@@ -1,6 +1,14 @@
- name: Create service user
user:
name: "{{ role_name }}"
groups: "{{ media_group }}"
append: yes
register: service_user
become: true
- name: Create install directory
file:
path: "{{ install_directory }}/radarr"
path: "{{ install_directory }}/{{ role_name }}"
state: directory
owner: "{{ docker_user }}"
mode: "{{ docker_compose_directory_mask }}"
@@ -9,13 +17,13 @@
- name: Copy docker-compose file to destination
template:
src: docker-compose.yml
dest: "{{ install_directory }}/radarr/docker-compose.yml"
dest: "{{ install_directory }}/{{ role_name }}/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 }}/radarr"
project_src: "{{ install_directory }}/{{ role_name }}"
pull: true
remove_orphans: yes

View File

@@ -5,20 +5,20 @@ networks:
external: true
services:
qbittorrent:
container_name: qbittorrent
{{ role_name }}:
container_name: "{{ role_name }}"
image: lscr.io/linuxserver/qbittorrent:libtorrentv1
restart: unless-stopped
network_mode: "container:gluetun"
networks:
- traefik
environment:
- PUID={{ primary_uid }}
- PGID={{ media_gid }}
- TZ={{ timezone }}
- DOCKER_MODS=arafatamim/linuxserver-io-mod-vuetorrent
- "PUID={{ service_user.uid }}"
- "PGID={{ media_gid }}"
- "TZ={{ timezone }}"
volumes:
- "{{ data_dir }}/qbittorrent:/config"
- "{{ data_dir }}/{{ role_name }}:/config"
- "{{ media_storage_mnt }}/data/torrents:/downloads"
labels:
traefik.enable: true
traefik.http.routers.qbittorrent.rule: "Host(`qbittorrent.local.{{ personal_domain }}`)"
traefik.http.routers.qbittorrent.middlewares: lan-whitelist@file
traefik.http.routers.{{ role_name }}.rule: "Host(`{{ role_name }}.local.{{ personal_domain }}`)"
traefik.http.routers.{{ role_name }}.middlewares: lan-whitelist@file

View File

@@ -1,6 +1,14 @@
- name: Create service user
user:
name: "{{ role_name }}"
groups: "{{ media_group }}"
append: yes
register: service_user
become: true
- name: Create install directory
file:
path: "{{ install_directory }}/radarr"
path: "{{ install_directory }}/{{ role_name }}"
state: directory
owner: "{{ docker_user }}"
mode: "{{ docker_compose_directory_mask }}"
@@ -9,13 +17,13 @@
- name: Copy docker-compose file to destination
template:
src: docker-compose.yml
dest: "{{ install_directory }}/radarr/docker-compose.yml"
dest: "{{ install_directory }}/{{ role_name }}/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 }}/radarr"
project_src: "{{ install_directory }}/{{ role_name }}"
pull: true
remove_orphans: yes

View File

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

View File

@@ -1,6 +1,14 @@
- name: Create service user
user:
name: "{{ role_name }}"
groups: "{{ media_group }}"
append: yes
register: service_user
become: true
- name: Create install directory
file:
path: "{{ install_directory }}/sonarr"
path: "{{ install_directory }}/{{ role_name }}"
state: directory
owner: "{{ docker_user }}"
mode: "{{ docker_compose_directory_mask }}"
@@ -9,13 +17,13 @@
- name: Copy docker-compose file to destination
template:
src: docker-compose.yml
dest: "{{ install_directory }}/sonarr/docker-compose.yml"
dest: "{{ install_directory }}/{{ role_name }}/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"
project_src: "{{ install_directory }}/{{ role_name }}"
pull: true
remove_orphans: yes

View File

@@ -5,20 +5,20 @@ networks:
external: true
services:
sonarr:
container_name: sonarr
image: lscr.io/linuxserver/sonarr:develop
"{{ role_name }}":
container_name: "{{ role_name }}"
image: "lscr.io/linuxserver/sonarr:develop"
restart: unless-stopped
networks:
- traefik
environment:
- PUID={{ primary_uid }}
- PGID={{ media_gid }}
- TZ={{ timezone }}
- "PUID={{ service_user.uid }}"
- "PGID={{ media_gid }}"
- "TZ={{ timezone }}"
volumes:
- "{{ data_dir }}/sonarr:/config"
- "{{ data_dir }}/{{ role_name }}:/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
traefik.http.routers.{{ role_name }}.rule: "Host(`{{ role_name }}.local.{{ personal_domain }}`)"
traefik.http.routers.{{ role_name }}.middlewares: lan-whitelist@file