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
Sonarr/.drone.yml Normal file
View File

@@ -0,0 +1,110 @@
---
kind: pipeline
type: docker
name: deploy
environment:
PACKAGE: Sonarr
URL: sonarr.alexlebens.net sonarranime.alexlebens.net sonarrdocumentaries.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 Sonarr 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 Sonarr 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 Sonarr 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 Sonarr failed.
when:
status:
- failure

3
Sonarr/README.md Normal file
View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

194
Sonarr/docker-compose.yml Normal file
View File

@@ -0,0 +1,194 @@
services:
sonarr:
container_name: sonarr
environment:
- PUID=1000
- PGID=1000
- UMASK=022
- TZ=America/Denver
image: hotio/sonarr:latest
labels:
traefik.docker.network: traefik
traefik.enable: true
traefik.http.routers.sonarr.entrypoints: websecure
traefik.http.routers.sonarr.rule: Host(`sonarr.alexlebens.net`)
traefik.http.routers.sonarr.service: sonarr
traefik.http.routers.sonarr.middlewares: sonarr-theme@file
traefik.http.services.sonarr.loadbalancer.server.port: 8989
logging:
driver: json-file
options:
max-size: 50m
max-file: "3"
networks:
traefik:
ipv4_address: 172.27.1.31
restart: always
privileged: true
volumes:
- sonarr:/config
- storage_nfs:/mnt/store
sonarr_anime:
container_name: sonarr_anime
environment:
- PUID=1000
- PGID=1000
- UMASK=022
- TZ=America/Denver
image: hotio/sonarr:latest
labels:
traefik.docker.network: traefik
traefik.enable: true
traefik.http.routers.sonarr_anime.entrypoints: websecure
traefik.http.routers.sonarr_anime.rule: Host(`sonarranime.alexlebens.net`)
traefik.http.routers.sonarr_anime.service: sonarr_anime
traefik.http.routers.sonarr_anime.middlewares: sonarr-theme@file
traefik.http.services.sonarr_anime.loadbalancer.server.port: 8989
logging:
driver: json-file
options:
max-size: 50m
max-file: "3"
networks:
traefik:
ipv4_address: 172.27.1.70
restart: always
privileged: true
volumes:
- sonarr_anime:/config
- storage_nfs:/mnt/store
sonarr_documentaries:
container_name: sonarr_documentaries
environment:
- PUID=1000
- PGID=1000
- UMASK=022
- TZ=America/Denver
image: hotio/sonarr:latest
labels:
traefik.docker.network: traefik
traefik.enable: true
traefik.http.routers.sonarr_documentaries.entrypoints: websecure
traefik.http.routers.sonarr_documentaries.rule: Host(`sonarrdocumentaries.alexlebens.net`)
traefik.http.routers.sonarr_documentaries.service: sonarr_documentaries
traefik.http.routers.sonarr_documentaries.middlewares: sonarr-theme@file
traefik.http.services.sonarr_documentaries.loadbalancer.server.port: 8989
logging:
driver: json-file
options:
max-size: 50m
max-file: "3"
networks:
traefik:
ipv4_address: 172.27.1.72
restart: always
privileged: true
volumes:
- sonarr_documentaries:/config
- storage_nfs:/mnt/store
sonarr_exporter:
command: sonarr
container_name: sonarr_exporter
depends_on:
- sonarr
environment:
PORT: 9707
URL: http://sonarr:8989
APIKEY: 7f0dfeea4b9f410d96b5ffa2f809d1e8
ENABLE_EPISODE_QUALITY_METRICS: false
image: ghcr.io/onedr0p/exportarr:latest
logging:
driver: json-file
options:
max-size: 50m
max-file: "3"
networks:
traefik:
ipv4_address: 172.27.1.37
restart: always
sonarr_anime_exporter:
command: sonarr
container_name: sonarr_anime_exporter
depends_on:
- sonarr_anime
environment:
PORT: 9707
URL: http://sonarr_anime:8989
APIKEY: a2f10e70559c4ee3b8ff1d6cdc5a41f1
ENABLE_EPISODE_QUALITY_METRICS: false
image: ghcr.io/onedr0p/exportarr:latest
logging:
driver: json-file
options:
max-size: 50m
max-file: "3"
networks:
traefik:
ipv4_address: 172.27.1.71
restart: always
sonarr_documentaries_exporter:
command: sonarr
container_name: sonarr_documentaries_exporter
depends_on:
- sonarr_documentaries
environment:
PORT: 9707
URL: http://sonarr_documentaries:8989
APIKEY: 3ed988c3731b45ad8124b7d55b620d6b
ENABLE_EPISODE_QUALITY_METRICS: false
image: ghcr.io/onedr0p/exportarr:latest
logging:
driver: json-file
options:
max-size: 50m
max-file: "3"
networks:
traefik:
ipv4_address: 172.27.1.73
restart: always
networks:
traefik:
name: traefik
external: true
volumes:
sonarr:
driver: local
driver_opts:
type: none
o: bind
device: /var/lib/docker/volumes/partition/servarr_sonarr
sonarr_anime:
driver: local
driver_opts:
type: none
o: bind
device: /var/lib/docker/volumes/partition/servarr_sonarr_anime
sonarr_documentaries:
driver: local
driver_opts:
type: none
o: bind
device: /var/lib/docker/volumes/partition/servarr_sonarr_documentaries
# 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