init
This commit is contained in:
110
Sonarr/.drone.yml
Normal file
110
Sonarr/.drone.yml
Normal 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
3
Sonarr/README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Sonarr
|
||||
|
||||
[](https://drone.alexlebens.net/alexlebens/Sonarr)
|
17
Sonarr/UptimeKuma/docker-1.json
Normal file
17
Sonarr/UptimeKuma/docker-1.json
Normal 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
|
||||
}
|
17
Sonarr/UptimeKuma/docker-2.json
Normal file
17
Sonarr/UptimeKuma/docker-2.json
Normal 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
|
||||
}
|
17
Sonarr/UptimeKuma/docker-3.json
Normal file
17
Sonarr/UptimeKuma/docker-3.json
Normal 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
|
||||
}
|
17
Sonarr/UptimeKuma/docker-4.json
Normal file
17
Sonarr/UptimeKuma/docker-4.json
Normal 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
|
||||
}
|
17
Sonarr/UptimeKuma/docker-5.json
Normal file
17
Sonarr/UptimeKuma/docker-5.json
Normal 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
|
||||
}
|
17
Sonarr/UptimeKuma/docker-6.json
Normal file
17
Sonarr/UptimeKuma/docker-6.json
Normal 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
|
||||
}
|
15
Sonarr/UptimeKuma/http-1.json
Normal file
15
Sonarr/UptimeKuma/http-1.json
Normal 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"
|
||||
]
|
||||
}
|
15
Sonarr/UptimeKuma/http-2.json
Normal file
15
Sonarr/UptimeKuma/http-2.json
Normal 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"
|
||||
]
|
||||
}
|
15
Sonarr/UptimeKuma/http-3.json
Normal file
15
Sonarr/UptimeKuma/http-3.json
Normal 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
194
Sonarr/docker-compose.yml
Normal 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
|
Reference in New Issue
Block a user