Added *arr Stack
This commit is contained in:
parent
0e8b1d7d21
commit
76fc2c64a5
14 changed files with 183 additions and 6 deletions
2
.vscode/settings.json
vendored
2
.vscode/settings.json
vendored
|
|
@ -1,3 +1,3 @@
|
||||||
{
|
{
|
||||||
"ansible.python.interpreterPath": "/workspace/dev/ansible/minilab/.venv/bin/python"
|
"ansible.python.interpreterPath": "/usr/bin/python"
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
---
|
||||||
|
services:
|
||||||
|
lidarr:
|
||||||
|
container_name: lidarr
|
||||||
|
image: ghcr.io/hotio/lidarr:${LIDARR_TAG:-latest}
|
||||||
|
ports:
|
||||||
|
- "8686:8686"
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=10000
|
||||||
|
- UMASK=002
|
||||||
|
- TZ=America/New_York
|
||||||
|
- WEBUI_PORTS=8686/tcp
|
||||||
|
volumes:
|
||||||
|
- /opt/arr/lidarr/config:/config
|
||||||
|
- /mnt/storage:/data
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
services:
|
||||||
|
prowlarr:
|
||||||
|
container_name: prowlarr
|
||||||
|
image: ghcr.io/hotio/prowlarr:${PROWLARR_TAG:-latest}
|
||||||
|
ports:
|
||||||
|
- "9696:9696"
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=10000
|
||||||
|
- UMASK=002
|
||||||
|
- TZ=America/New_York
|
||||||
|
- WEBUI_PORTS=9696/tcp
|
||||||
|
volumes:
|
||||||
|
- /opt/arr/prowlarr/config:/config
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
---
|
||||||
|
services:
|
||||||
|
radarr:
|
||||||
|
container_name: radarr
|
||||||
|
image: ghcr.io/hotio/radarr:${RADARR_TAG:-latest}
|
||||||
|
ports:
|
||||||
|
- "7878:7878"
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=10000
|
||||||
|
- UMASK=002
|
||||||
|
- TZ=America/New_York
|
||||||
|
- WEBUI_PORTS=7878/tcp
|
||||||
|
volumes:
|
||||||
|
- /opt/arr/radarr/config:/config
|
||||||
|
- /mnt/storage:/data
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
services:
|
||||||
|
sabnzbd:
|
||||||
|
image: lscr.io/linuxserver/sabnzbd:${SABNZBD_TAG:-latest}
|
||||||
|
container_name: sabnzbd
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=10000
|
||||||
|
- TZ=America/New_York
|
||||||
|
volumes:
|
||||||
|
- /opt/arr/sabnzbd/config:/config
|
||||||
|
- /mnt/storage:/data
|
||||||
|
ports:
|
||||||
|
- 8081:8080
|
||||||
|
restart: unless-stopped
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
---
|
||||||
|
services:
|
||||||
|
sonarr:
|
||||||
|
container_name: sonarr
|
||||||
|
image: ghcr.io/hotio/sonarr:${SONARR_TAG:-latest}
|
||||||
|
ports:
|
||||||
|
- "8989:8989"
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=10000
|
||||||
|
- UMASK=002
|
||||||
|
- TZ=America/New_York
|
||||||
|
- WEBUI_PORTS=8989/tcp
|
||||||
|
volumes:
|
||||||
|
- /opt/arr/sonarr/config:/config
|
||||||
|
- /mnt/storage:/data
|
||||||
|
|
@ -0,0 +1,73 @@
|
||||||
|
---
|
||||||
|
- name: Load distro-specific variables
|
||||||
|
ansible.builtin.include_vars: '{{ item }}'
|
||||||
|
tags: always
|
||||||
|
with_first_found:
|
||||||
|
- files:
|
||||||
|
- "{{ ansible_facts['distribution'] }}.yaml"
|
||||||
|
skip: true
|
||||||
|
|
||||||
|
- name: Ensure Arr stack is running on this device
|
||||||
|
block:
|
||||||
|
- name: Ensure presense of folders for arr stack
|
||||||
|
tags: packages,docker,arr,sabnzbd
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "/opt/arr/{{ item }}"
|
||||||
|
state: directory
|
||||||
|
recurse: true
|
||||||
|
owner: 1000
|
||||||
|
group: 1000
|
||||||
|
loop:
|
||||||
|
- "sabnzbd/config"
|
||||||
|
- "radarr/config"
|
||||||
|
- "sonarr/config"
|
||||||
|
- "lidarr/config"
|
||||||
|
- "prowlarr/config"
|
||||||
|
- "homarr/appdata"
|
||||||
|
- name: Ensure environment files are present for arr stack
|
||||||
|
tags: packages,docker,arr,sabnzbd
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: env.j2
|
||||||
|
dest: /opt/arr/{{ item }}/.env
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: u=rw,g=r,o=r
|
||||||
|
loop:
|
||||||
|
- "sabnzbd"
|
||||||
|
- "radarr"
|
||||||
|
- "sonarr"
|
||||||
|
- "lidarr"
|
||||||
|
- "prowlarr"
|
||||||
|
- "homarr"
|
||||||
|
- name: Ensure compose files are present for arr stack
|
||||||
|
tags: packages,docker,arr,sabnzbd
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: "{{ item }}.yaml"
|
||||||
|
dest: "/opt/arr/{{ item }}/docker-compose.yaml"
|
||||||
|
owner: 1000
|
||||||
|
group: 1000
|
||||||
|
mode: u=rw,g=r,o=r
|
||||||
|
loop:
|
||||||
|
- "sabnzbd"
|
||||||
|
- "radarr"
|
||||||
|
- "sonarr"
|
||||||
|
- "lidarr"
|
||||||
|
- "prowlarr"
|
||||||
|
- "homarr"
|
||||||
|
- name: Ensure docker containers are pulled and running
|
||||||
|
tags: docker,arr,sabnzbd
|
||||||
|
community.docker.docker_compose_v2:
|
||||||
|
project_src: /opt/arr/{{ item }}
|
||||||
|
pull: always
|
||||||
|
loop:
|
||||||
|
- "sabnzbd"
|
||||||
|
- "radarr"
|
||||||
|
- "sonarr"
|
||||||
|
- "lidarr"
|
||||||
|
- "prowlarr"
|
||||||
|
- "homarr"
|
||||||
|
|
||||||
|
rescue:
|
||||||
|
- name: Set that this task failed
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
task_failed: true
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
SABNZBD_TAG={{ arr_sabnzbd_tag }}
|
||||||
|
RADARR_TAG={{ arr_radarr_tag }}
|
||||||
|
SONARR_TAG={{ arr_sonarr_tag }}
|
||||||
|
LIDARR_TAG={{ arr_lidarr_tag }}
|
||||||
|
PROWLARR_TAG={{ arr_prowlarr_tag }}
|
||||||
|
HOMARR_TAG={{ arr_homarr_tag }}
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
username={{ arr_smb_username }}
|
||||||
|
password={{ arr_smb_password }}
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
arr_sabnzbd_tag: 4.5.5
|
||||||
|
arr_radarr_tag: release-6.0.4.10291
|
||||||
|
arr_sonarr_tag: release-4.0.16.2944
|
||||||
|
arr_lidarr_tag: release-3.1.0.4875
|
||||||
|
arr_prowlarr_tag: release-2.3.0.5236
|
||||||
|
arr_homarr_tag: v1.50.1
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
services:
|
services:
|
||||||
postgresql:
|
postgresql:
|
||||||
image: docker.io/library/postgres:16-alpine
|
image: postgres:16-alpine
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
|
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
|
||||||
|
|
@ -18,7 +18,7 @@ services:
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
redis:
|
redis:
|
||||||
image: docker.io/library/redis:alpine
|
image: redis:alpine
|
||||||
command: --save 60 1 --loglevel warning
|
command: --save 60 1 --loglevel warning
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
healthcheck:
|
healthcheck:
|
||||||
|
|
|
||||||
10
doit
10
doit
|
|
@ -2,4 +2,12 @@
|
||||||
|
|
||||||
clear
|
clear
|
||||||
echo "" > ansible.log
|
echo "" > ansible.log
|
||||||
/workspace/dev/ansible/minilab/.venv/bin/ansible-playbook --vault-password-file vault-password.txt minilab.yaml $@
|
ANSIBLE_PATH=ansible-playbook
|
||||||
|
|
||||||
|
if hash ansible-playbook 2>/dev/null; then
|
||||||
|
ANSIBLE_PATH=ansible-playbook
|
||||||
|
else
|
||||||
|
ANSIBLE_PATH=./.venv/bin/ansible-playbook
|
||||||
|
fi
|
||||||
|
|
||||||
|
$ANSIBLE_PATH --vault-password-file vault-password.txt minilab.yaml $@
|
||||||
|
|
|
||||||
|
|
@ -66,3 +66,6 @@ all:
|
||||||
caddy:
|
caddy:
|
||||||
hosts:
|
hosts:
|
||||||
nemetona:
|
nemetona:
|
||||||
|
arr:
|
||||||
|
hosts:
|
||||||
|
nemetona:
|
||||||
|
|
|
||||||
|
|
@ -52,5 +52,6 @@
|
||||||
tags: docker,authentik,caddy
|
tags: docker,authentik,caddy
|
||||||
become: true
|
become: true
|
||||||
roles:
|
roles:
|
||||||
- adhdgirl.minilab.authentik
|
# - adhdgirl.minilab.authentik
|
||||||
- adhdgirl.minilab.caddy
|
- adhdgirl.minilab.caddy
|
||||||
|
- adhdgirl.minilab.arr
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue