This commit is contained in:
2023-09-26 18:14:36 -06:00
commit fb5a0fc542
443 changed files with 21892 additions and 0 deletions

110
Radarr/.drone.yml Normal file
View File

@@ -0,0 +1,110 @@
---
kind: pipeline
type: docker
name: deploy
environment:
PACKAGE: Radarr
URL: radarr.alexlebens.net radarranime.alexlebens.net radarrart.alexlebens.net radarrdocumentaries.alexlebens.net radarrstandup.alexlebens.net
steps:
- name: Tests
image: ps03fd.alexlebens.net:5000/droneimage:latest
commands:
- /scripts/tests.sh
- name: Nofification > Discord | Tests - Failure
image: appleboy/drone-discord
settings:
webhook_id:
from_secret: discord_webhook_id
webhook_token:
from_secret: discord_webhook_token
username: DroneCI - ps03fd
message: Docker compose validation for Radarr failed.
when:
status:
- failure
- name: Configuration
image: ps03fd.alexlebens.net:5000/droneimage:latest
commands:
- mkdir ~/.ssh/
- echo "$SSH_KEY" > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
- ssh-keyscan -H $HOST_IP >> ~/.ssh/known_hosts
- /scripts/configuration.sh
environment:
SSH_KEY:
from_secret: ssh_key_ps03fd_drone
DOCKER_HOST:
from_secret: docker_host_ps03fd
HOST_IP:
from_secret: host_ip_ps03fd
UPTIMEKUMA_NAME:
from_secret: uptimekuma_name
UPTIMEKUMA_PASSWORD:
from_secret: uptimekuma_password
UPTIMEKUMA_URL:
from_secret: uptimekuma_url
when:
branch:
- main
- name: Nofification > Discord | Configuration - Failure
image: appleboy/drone-discord
settings:
webhook_id:
from_secret: discord_webhook_id
webhook_token:
from_secret: discord_webhook_token
username: DroneCI - ps03fd
message: Configuration for Radarr failed.
when:
status:
- failure
- name: Deploy
image: ps03fd.alexlebens.net:5000/droneimage:latest
commands:
- mkdir ~/.ssh/
- echo "$SSH_KEY" > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
- ssh-keyscan -H $HOST_IP >> ~/.ssh/known_hosts
- /scripts/deploy.sh
environment:
SSH_KEY:
from_secret: ssh_key_ps03fd_drone
DOCKER_HOST:
from_secret: docker_host_ps03fd
HOST_IP:
from_secret: host_ip_ps03fd
when:
branch:
- main
- name: Nofification > Discord | Deploy - Success
image: appleboy/drone-discord
settings:
webhook_id:
from_secret: discord_webhook_id
webhook_token:
from_secret: discord_webhook_token
username: DroneCI - ps03fd
message: Docker compose deployment for Radarr succeeded
when:
status:
- sucess
- name: Nofification > Discord | Deploy - Failure
image: appleboy/drone-discord
settings:
webhook_id:
from_secret: discord_webhook_id
webhook_token:
from_secret: discord_webhook_token
username: DroneCI - ps03fd
message: Docker compose deployment for Radarr failed.
when:
status:
- failure

3
Radarr/README.md Normal file
View File

@@ -0,0 +1,3 @@
# Radarr
[![Build Status](https://drone.alexlebens.net/api/badges/alexlebens/Radarr/status.svg)](https://drone.alexlebens.net/alexlebens/Radarr)

View File

@@ -0,0 +1,17 @@
{
"type": "docker",
"name": "Radarr - Docker",
"interval": 60,
"retryInterval": 20,
"maxretries": 1,
"notificationIDList": [
3,
4
],
"url": "https://radarr.alexlebens.net",
"accepted_statuscodes": [
"200-299"
],
"docker_container": "radarr",
"docker_host": 1
}

View File

@@ -0,0 +1,17 @@
{
"type": "docker",
"name": "Radarr Stand Up Exporter - Docker",
"interval": 60,
"retryInterval": 20,
"maxretries": 1,
"notificationIDList": [
3,
4
],
"url": "https://radarrstandup.alexlebens.net:9000/metrics",
"accepted_statuscodes": [
"200-299"
],
"docker_container": "radarr_standup_exporter",
"docker_host": 1
}

View File

@@ -0,0 +1,17 @@
{
"type": "docker",
"name": "Radarr Anime - Docker",
"interval": 60,
"retryInterval": 20,
"maxretries": 1,
"notificationIDList": [
3,
4
],
"url": "https://radarranime.alexlebens.net",
"accepted_statuscodes": [
"200-299"
],
"docker_container": "radarr_anime",
"docker_host": 1
}

View File

@@ -0,0 +1,17 @@
{
"type": "docker",
"name": "Radarr Art - Docker",
"interval": 60,
"retryInterval": 20,
"maxretries": 1,
"notificationIDList": [
3,
4
],
"url": "https://radarrart.alexlebens.net",
"accepted_statuscodes": [
"200-299"
],
"docker_container": "radarr_art",
"docker_host": 1
}

View File

@@ -0,0 +1,17 @@
{
"type": "docker",
"name": "Radarr Documentaries - Docker",
"interval": 60,
"retryInterval": 20,
"maxretries": 1,
"notificationIDList": [
3,
4
],
"url": "https://radarrdocumentaries.alexlebens.net",
"accepted_statuscodes": [
"200-299"
],
"docker_container": "radarr_documentaries",
"docker_host": 1
}

View File

@@ -0,0 +1,17 @@
{
"type": "docker",
"name": "Radarr Stand Up - Docker",
"interval": 60,
"retryInterval": 20,
"maxretries": 1,
"notificationIDList": [
3,
4
],
"url": "https://radarrstandup.alexlebens.net",
"accepted_statuscodes": [
"200-299"
],
"docker_container": "radarr_standup",
"docker_host": 1
}

View File

@@ -0,0 +1,17 @@
{
"type": "docker",
"name": "Radarr Exporter - Docker",
"interval": 60,
"retryInterval": 20,
"maxretries": 1,
"notificationIDList": [
3,
4
],
"url": "https://radarr.alexlebens.net:9000/metrics",
"accepted_statuscodes": [
"200-299"
],
"docker_container": "radarr_exporter",
"docker_host": 1
}

View File

@@ -0,0 +1,17 @@
{
"type": "docker",
"name": "Radarr Anime Exporter - Docker",
"interval": 60,
"retryInterval": 20,
"maxretries": 1,
"notificationIDList": [
3,
4
],
"url": "https://radarranime.alexlebens.net:9000/metrics",
"accepted_statuscodes": [
"200-299"
],
"docker_container": "radarr_anime_exporter",
"docker_host": 1
}

View File

@@ -0,0 +1,17 @@
{
"type": "docker",
"name": "Radarr Art Exporter - Docker",
"interval": 60,
"retryInterval": 20,
"maxretries": 1,
"notificationIDList": [
3,
4
],
"url": "https://radarrart.alexlebens.net:9000/metrics",
"accepted_statuscodes": [
"200-299"
],
"docker_container": "radarr_art_exporter",
"docker_host": 1
}

View File

@@ -0,0 +1,17 @@
{
"type": "docker",
"name": "Radarr Documentaries Exporter - Docker",
"interval": 60,
"retryInterval": 20,
"maxretries": 1,
"notificationIDList": [
3,
4
],
"url": "https://radarrdocumentaries.alexlebens.net:9000/metrics",
"accepted_statuscodes": [
"200-299"
],
"docker_container": "radarr_documentaries_exporter",
"docker_host": 1
}

View File

@@ -0,0 +1,15 @@
{
"type": "http",
"name": "Radarr - Web",
"interval": 60,
"retryInterval": 20,
"maxretries": 1,
"notificationIDList": [
3,
4
],
"url": "https://radarr.alexlebens.net",
"accepted_statuscodes": [
"200-299"
]
}

View File

@@ -0,0 +1,15 @@
{
"type": "http",
"name": "Radarr Anime - Web",
"interval": 60,
"retryInterval": 20,
"maxretries": 1,
"notificationIDList": [
3,
4
],
"url": "https://radarranime.alexlebens.net",
"accepted_statuscodes": [
"200-299"
]
}

View File

@@ -0,0 +1,15 @@
{
"type": "http",
"name": "Radarr Art - Web",
"interval": 60,
"retryInterval": 20,
"maxretries": 1,
"notificationIDList": [
3,
4
],
"url": "https://radarrart.alexlebens.net",
"accepted_statuscodes": [
"200-299"
]
}

View File

@@ -0,0 +1,15 @@
{
"type": "http",
"name": "Radarr Documentaries - Web",
"interval": 60,
"retryInterval": 20,
"maxretries": 1,
"notificationIDList": [
3,
4
],
"url": "https://radarrdocumentaries.alexlebens.net",
"accepted_statuscodes": [
"200-299"
]
}

View File

@@ -0,0 +1,15 @@
{
"type": "http",
"name": "Radarr Stand Up - Web",
"interval": 60,
"retryInterval": 20,
"maxretries": 1,
"notificationIDList": [
3,
4
],
"url": "https://radarrstandup.alexlebens.net",
"accepted_statuscodes": [
"200-299"
]
}

305
Radarr/docker-compose.yml Normal file
View File

@@ -0,0 +1,305 @@
services:
radarr:
container_name: radarr
environment:
- PUID=1000
- PGID=1000
- UMASK=022
- TZ=America/Denver
image: hotio/radarr:testing
labels:
traefik.docker.network: traefik
traefik.enable: true
traefik.http.routers.radarr.entrypoints: websecure
traefik.http.routers.radarr.rule: Host(`radarr.alexlebens.net`)
traefik.http.routers.radarr.service: radarr
traefik.http.routers.radarr.middlewares: radarr-theme@file
traefik.http.services.radarr.loadbalancer.server.port: 7878
logging:
driver: json-file
options:
max-size: 50m
max-file: "3"
networks:
traefik:
ipv4_address: 172.27.1.30
restart: always
privileged: true
volumes:
- radarr:/config
- storage_nfs:/mnt/store
radarr_anime:
container_name: radarr_anime
environment:
- PUID=1000
- PGID=1000
- UMASK=022
- TZ=America/Denver
image: hotio/radarr:release
labels:
traefik.docker.network: traefik
traefik.enable: true
traefik.http.routers.radarr_anime.entrypoints: websecure
traefik.http.routers.radarr_anime.rule: Host(`radarranime.alexlebens.net`)
traefik.http.routers.radarr_anime.service: radarr_anime
traefik.http.routers.radarr_anime.middlewares: radarr-theme@file
traefik.http.services.radarr_anime.loadbalancer.server.port: 7878
logging:
driver: json-file
options:
max-size: 50m
max-file: "3"
networks:
traefik:
ipv4_address: 172.27.1.61
restart: always
privileged: true
volumes:
- radarr_anime:/config
- storage_nfs:/mnt/store
radarr_art:
container_name: radarr_art
environment:
- PUID=1000
- PGID=1000
- UMASK=022
- TZ=America/Denver
image: hotio/radarr:release
labels:
traefik.docker.network: traefik
traefik.enable: true
traefik.http.routers.radarr_art.entrypoints: websecure
traefik.http.routers.radarr_art.rule: Host(`radarrart.alexlebens.net`)
traefik.http.routers.radarr_art.service: radarr_art
traefik.http.routers.radarr_art.middlewares: radarr-theme@file
traefik.http.services.radarr_art.loadbalancer.server.port: 7878
logging:
driver: json-file
options:
max-size: 50m
max-file: "3"
networks:
traefik:
ipv4_address: 172.27.1.62
restart: always
privileged: true
volumes:
- radarr_art:/config
- storage_nfs:/mnt/store
radarr_documentaries:
container_name: radarr_documentaries
environment:
- PUID=1000
- PGID=1000
- UMASK=022
- TZ=America/Denver
image: hotio/radarr:release
labels:
traefik.docker.network: traefik
traefik.enable: true
traefik.http.routers.radarr_documentaries.entrypoints: websecure
traefik.http.routers.radarr_documentaries.rule: Host(`radarrdocumentaries.alexlebens.net`)
traefik.http.routers.radarr_documentaries.service: radarr_documentaries
traefik.http.routers.radarr_documentaries.middlewares: radarr-theme@file
traefik.http.services.radarr_documentaries.loadbalancer.server.port: 7878
logging:
driver: json-file
options:
max-size: 50m
max-file: "3"
networks:
traefik:
ipv4_address: 172.27.1.63
restart: always
privileged: true
volumes:
- radarr_documentaries:/config
- storage_nfs:/mnt/store
radarr_standup:
container_name: radarr_standup
environment:
- PUID=1000
- PGID=1000
- UMASK=022
- TZ=America/Denver
image: hotio/radarr:release
labels:
traefik.docker.network: traefik
traefik.enable: true
traefik.http.routers.radarr_standup.entrypoints: websecure
traefik.http.routers.radarr_standup.rule: Host(`radarrstandup.alexlebens.net`)
traefik.http.routers.radarr_standup.service: radarr_standup
traefik.http.routers.radarr_standup.middlewares: radarr-theme@file
traefik.http.services.radarr_standup.loadbalancer.server.port: 7878
logging:
driver: json-file
options:
max-size: 50m
max-file: "3"
networks:
traefik:
ipv4_address: 172.27.1.64
restart: always
privileged: true
volumes:
- radarr_standup:/config
- storage_nfs:/mnt/store
radarr_exporter:
command: radarr
container_name: radarr_exporter
depends_on:
- radarr
environment:
PORT: 9708
URL: http://radarr:7878
APIKEY: e6e3d6f4aafe4e499d970cfcbf042db9
image: ghcr.io/onedr0p/exportarr:latest
logging:
driver: json-file
options:
max-size: 50m
max-file: "3"
networks:
traefik:
ipv4_address: 172.27.1.36
restart: always
radarr_anime_exporter:
command: radarr
container_name: radarr_anime_exporter
depends_on:
- radarr_anime
environment:
PORT: 9708
URL: http://radarr_anime:7878
APIKEY: fb126bad31d64d43bb669ad81329954d
image: ghcr.io/onedr0p/exportarr:latest
logging:
driver: json-file
options:
max-size: 50m
max-file: "3"
networks:
traefik:
ipv4_address: 172.27.1.66
restart: always
radarr_art_exporter:
command: radarr
container_name: radarr_art_exporter
depends_on:
- radarr_art
environment:
PORT: 9708
URL: http://radarr_art:7878
APIKEY: 32365893c4234f8a9ad96d68d6e7a520
image: ghcr.io/onedr0p/exportarr:latest
logging:
driver: json-file
options:
max-size: 50m
max-file: "3"
networks:
traefik:
ipv4_address: 172.27.1.67
restart: always
radarr_documentaries_exporter:
command: radarr
container_name: radarr_documentaries_exporter
depends_on:
- radarr_documentaries
environment:
PORT: 9708
URL: http://radarr_documentaries:7878
APIKEY: fd03f47363324096a56d0a453623420b
image: ghcr.io/onedr0p/exportarr:latest
logging:
driver: json-file
options:
max-size: 50m
max-file: "3"
networks:
traefik:
ipv4_address: 172.27.1.68
restart: always
radarr_standup_exporter:
command: radarr
container_name: radarr_standup_exporter
depends_on:
- radarr_standup
environment:
PORT: 9708
URL: http://radarr_standup:7878
APIKEY: c7c425b3fbcf4112895aceec7729f4d1
image: ghcr.io/onedr0p/exportarr:latest
logging:
driver: json-file
options:
max-size: 50m
max-file: "3"
networks:
traefik:
ipv4_address: 172.27.1.69
restart: always
networks:
traefik:
name: traefik
external: true
volumes:
radarr:
driver: local
driver_opts:
type: none
o: bind
device: /var/lib/docker/volumes/partition/servarr_radarr
radarr_anime:
driver: local
driver_opts:
type: none
o: bind
device: /var/lib/docker/volumes/partition/servarr_radarr_anime
radarr_art:
driver: local
driver_opts:
type: none
o: bind
device: /var/lib/docker/volumes/partition/servarr_radarr_art
radarr_documentaries:
driver: local
driver_opts:
type: none
o: bind
device: /var/lib/docker/volumes/partition/servarr_radarr_documentaries
radarr_standup:
driver: local
driver_opts:
type: none
o: bind
device: /var/lib/docker/volumes/partition/servarr_radarr_standup
# storage:
# driver: local
# driver_opts:
# type: cifs
# o: username=aurailious,password=24wrsfxv@$$WRSFXV,file_mode=0777,dir_mode=0777
# device: "//192.168.1.194/Storage"
storage_nfs:
driver: local
driver_opts:
type: nfs
o: addr=192.168.1.194,nfsvers=4
device: :/volume2/Storage