"Updates"
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: bazarr
|
||||
name: bazarr
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,9 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
bittorrent-password: c2FuZHN0b3JtLW91dGNhc3QtdHJlYXQK
|
||||
kind: Secret
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: bittorrent-password
|
||||
name: bittorrent-password
|
||||
type: Opaque
|
||||
@@ -0,0 +1,9 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
bittorrent-user: YWRtaW4K
|
||||
kind: Secret
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: bittorrent-user
|
||||
name: bittorrent-user
|
||||
type: Opaque
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: cache
|
||||
name: cache
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,16 @@
|
||||
[Interface]
|
||||
# Key for Gary
|
||||
# Bouncing = 9
|
||||
# NetShield = 1
|
||||
# NAT modéré = off
|
||||
# NAT-PMP (transfert de port) = on
|
||||
# VPN Accelerator = on
|
||||
PrivateKey = 2ARStJOsaO9LzNijZP+/HHd+72eY7uTW7i428Nt63E4=
|
||||
Address = 10.2.0.2/32
|
||||
DNS = 10.2.0.1
|
||||
|
||||
[Peer]
|
||||
# FR#94
|
||||
PublicKey = pSxXjpwlHAXXGJ2s3aRpAFLTNJXz60HKYWqKJqClo3Q=
|
||||
AllowedIPs = 0.0.0.0/0, ::/0
|
||||
Endpoint = 146.70.194.2:51820
|
||||
@@ -0,0 +1,145 @@
|
||||
[misc]
|
||||
frontend_url = "https://mmgr.delmar.bzh"
|
||||
cors_urls = ["http://localhost:8000"]
|
||||
|
||||
image_directory = "/data/images"
|
||||
tv_directory = "/data/tv-shows"
|
||||
movie_directory = "/data/movies"
|
||||
torrent_directory = "/data/downloads"
|
||||
|
||||
development = false
|
||||
|
||||
[[misc.tv_libraries]]
|
||||
name = "Live Action"
|
||||
path = "/data/tv-shows/live-action"
|
||||
|
||||
[[misc.movie_libraries]]
|
||||
name = "Documentaires"
|
||||
path = "/data/documentaries"
|
||||
|
||||
[database]
|
||||
host = "db"
|
||||
port = 5432
|
||||
user = "admin"
|
||||
password = "Y9iSk4iWWgfxACZK"
|
||||
dbname = "MediaManager"
|
||||
|
||||
[auth]
|
||||
email_password_resets = false
|
||||
|
||||
token_secret = "f1bbff315e6e3edabb2bbd2f582bf306f1a1c3c86ae1d07ebcabd2642012181d"
|
||||
session_lifetime = 86400
|
||||
|
||||
admin_emails = ["admin@delmar.bzh"]
|
||||
|
||||
[auth.openid_connect]
|
||||
enabled = false
|
||||
client_id = ""
|
||||
client_secret = ""
|
||||
configuration_endpoint = "https://openid.example.com/.well-known/openid-configuration"
|
||||
name = "OpenID"
|
||||
|
||||
[notifications]
|
||||
[notifications.smtp_config]
|
||||
smtp_host = "pro1.mail.ovh.net"
|
||||
smtp_port = 587
|
||||
smtp_user = "admin@delmar.bzh"
|
||||
smtp_password = "sxS4GA8rBfmFkCFL"
|
||||
from_email = "admin@delmar.bzh"
|
||||
use_tls = true
|
||||
|
||||
[notifications.email_notifications]
|
||||
enabled = true
|
||||
emails = ["jme69@delmar.bzh"]
|
||||
|
||||
[notifications.gotify]
|
||||
enabled = true
|
||||
api_key = "A9JajRQpx9.eDsb"
|
||||
url = "https://gotify.delmar.bzh"
|
||||
|
||||
[notifications.ntfy]
|
||||
enabled = false
|
||||
url = "https://ntfy.sh/your-topic"
|
||||
|
||||
[notifications.pushover]
|
||||
enabled = false
|
||||
api_key = ""
|
||||
user = ""
|
||||
|
||||
[torrents]
|
||||
[torrents.qbittorrent]
|
||||
enabled = true
|
||||
host = "http://gluetun"
|
||||
port = 9080
|
||||
username = "admin"
|
||||
password = "sandstorm-outcast-treat"
|
||||
|
||||
[torrents.transmission]
|
||||
enabled = false
|
||||
username = "admin"
|
||||
password = "admin"
|
||||
https_enabled = true
|
||||
host = "localhost"
|
||||
port = 9091
|
||||
path = "/transmission/rpc"
|
||||
|
||||
[torrents.sabnzbd]
|
||||
enabled = true
|
||||
host = "http://gluetun"
|
||||
port = 8080
|
||||
api_key = "7c5cda4f4a03436eaf32fc08adbf5475"
|
||||
base_path = "/api"
|
||||
|
||||
[indexers]
|
||||
[indexers.prowlarr]
|
||||
enabled = true
|
||||
url = "http://gluetun:9696"
|
||||
api_key = "df1c727b1d6d4300859a6e725725f6d8"
|
||||
timeout_seconds = 60
|
||||
|
||||
[indexers.jackett]
|
||||
enabled = false
|
||||
url = "http://localhost:9117"
|
||||
api_key = ""
|
||||
indexers = ["1337x", "torrentleech"]
|
||||
timeout_seconds = 60
|
||||
|
||||
[[indexers.title_scoring_rules]]
|
||||
name = "prefer_h265"
|
||||
keywords = ["h265", "hevc", "x265", "h.265", "x.265"]
|
||||
score_modifier = 100
|
||||
negate = false
|
||||
|
||||
[[indexers.title_scoring_rules]]
|
||||
name = "avoid_cam"
|
||||
keywords = ["cam", "camrip", "bdscr", "ddc", "dvdscreener","dvdscr", "hdcam", "hdtc", "hdts", "scr", "screener","telesync", "ts", "webscreener", "tc", "telecine", "tvrip"]
|
||||
score_modifier = -10000
|
||||
negate = false
|
||||
|
||||
[[indexers.indexer_flag_scoring_rules]]
|
||||
name = "prefer_freeleech"
|
||||
flags = ["freeleech", "freeleech75"]
|
||||
score_modifier = 100
|
||||
negate = false
|
||||
|
||||
[[indexers.indexer_flag_scoring_rules]]
|
||||
name = "reject_nuked"
|
||||
flags = ["nuked"]
|
||||
score_modifier = -10000
|
||||
negate = false
|
||||
|
||||
[[indexers.scoring_rule_sets]]
|
||||
name = "default"
|
||||
libraries = ["ALL_TV", "ALL_MOVIES"]
|
||||
rule_names = ["prefer_h265", "avoid_cam", "reject_nuked", "prefer_freeleech"]
|
||||
|
||||
[metadata]
|
||||
[metadata.tmdb]
|
||||
# tmdb_relay_url = "https://metadata-relay.dorninger.co/tmdb"
|
||||
tmdb_relay_url = "http://metadata_relay:8000/tmdb"
|
||||
primary_languages = ["fr", "en"]
|
||||
default_language = "fr"
|
||||
|
||||
[metadata.tvdb]
|
||||
# tvdb_relay_url = "https://metadata-relay.dorninger.co/tvdb"
|
||||
tvdb_relay_url = "http://metadata_relay:8000/tvdb"
|
||||
@@ -0,0 +1,11 @@
|
||||
# Netscape HTTP Cookie File
|
||||
# https://curl.haxx.se/rfc/cookie_spec.html
|
||||
# This is a generated file! Do not edit.
|
||||
|
||||
.spotify.com TRUE / TRUE 1806227088 sp_t b5272d0e-2fd5-4f61-84b4-fcdcb85043db
|
||||
.spotify.com TRUE / TRUE 1774777436 sp_new 1
|
||||
.spotify.com TRUE / TRUE 1774777436 sp_landing https%3A%2F%2Fopen.spotify.com%2Fintl-fr
|
||||
.spotify.com TRUE / TRUE 1806227089 sp_dc AQDxRq-3-kW1PTN7OG94qyReAZCS8Q866SkgwSL1j-zMnxXPKzPcqyz7YmRgaQ-4ZoheIekMvvEBII-iLW2cWzfI9VWZaHJmdRL0_gx3wax0KJ1qdpakn0mzwkdggGLf79LjGxMSICOhzDGP13qPQpAtojm0OKZ_7ReyPKM5dgejtoZ2-W4rKHjeOY6F7YRjLEywgcAqC8lVQ2SdBaI
|
||||
.spotify.com TRUE / TRUE 1806227089 sp_key 42f99b91-e9f8-47c7-a5e3-8531eca0ac2a
|
||||
.spotify.com TRUE / TRUE 1779875088 sp_gaid 0088fc179862cef0201db44e8087b4975b45851d565e7cc3335a0e
|
||||
.spotify.com TRUE / FALSE 1806227092 OptanonConsent isGpcEnabled=0&datestamp=Sat+Mar+28+2026+10%3A44%3A52+GMT%2B0100+(heure+normale+d%E2%80%99Europe+centrale)&version=202601.2.0&browserGpcFlag=0&isIABGlobal=false&hosts=&consentId=6f2b33f3-82fd-45a6-a8d4-36a7efae118c&interactionCount=1&isAnonUser=1&prevHadToken=0&landingPath=https%3A%2F%2Fopen.spotify.com%2Fintl-fr&groups=s00%3A1%2Cf00%3A0%2Cm00%3A0%2Ct00%3A0%2Cf11%3A0%2CID01%3A0%2Ci00%3A0%2CV2STACK3%3A0%2CV2STACK11%3A0%2CV2STACK20%3A0%2Cm03%3A1%2Cm02%3A0%2Ct02%3A0&crTime=1774691058440
|
||||
@@ -0,0 +1,24 @@
|
||||
# Netscape HTTP Cookie File
|
||||
# https://curl.haxx.se/rfc/cookie_spec.html
|
||||
# This is a generated file! Do not edit.
|
||||
|
||||
.youtube.com TRUE / TRUE 1805876431 LOGIN_INFO AFmmF2swRQIhAL7tCTP8h1YtJqD9rC6zsC6YE46v3fASEUTjc8EOSGNXAiAjU6EHiizA2IzntEtCg-G1lP_gorwuY00k-addubLgmA:QUQ3MjNmeGtNZmJfMVNnUUlZUU05a3FrTDVPTzBNQUh6QmFkenpBVHBSVnRVdWNNMGpBekoxejRDazhiM1hoQ3IwVFYxMGU0U1BReXVlaWIwbngzdkw3bll0d2t5cXFSZ2FoRGxFOTh3NERqcWVpeEJnMlZIRkJZQktSYVdFb2dCVTRhOHNVbG5XZS1oams5UnpZSFRtLW05MnhJWWNYMF9R
|
||||
.youtube.com TRUE / FALSE 1809250908 HSID Ap1Ktez7KLJvMcfG8
|
||||
.youtube.com TRUE / TRUE 1809250908 SSID A03fx97pWsoKYOsU9
|
||||
.youtube.com TRUE / FALSE 1809250908 APISID n7TdccBv5YzuEEjG/AEM9D_BnBqUm62U_Y
|
||||
.youtube.com TRUE / TRUE 1809250908 SAPISID 0eHDQEQTwijjZ3mv/ARADRLaDYio2vblqy
|
||||
.youtube.com TRUE / TRUE 1809250908 __Secure-1PAPISID 0eHDQEQTwijjZ3mv/ARADRLaDYio2vblqy
|
||||
.youtube.com TRUE / TRUE 1809250908 __Secure-3PAPISID 0eHDQEQTwijjZ3mv/ARADRLaDYio2vblqy
|
||||
.youtube.com TRUE / TRUE 1809250911 PREF tz=Europe.Paris&f6=40000000&f5=30000&f7=100
|
||||
.youtube.com TRUE / FALSE 1809250908 SID g.a0008QhuwSBdti8DNYxyM9YU69alpbC_ld3I6kiAxKeP6cg4_NnE_b6noF5W5c7JIXJuvQHtDAACgYKAVoSARUSFQHGX2Mi2fAFOn_2j9a1bnLKvKYP3xoVAUF8yKoA4SERLCyAbVaftrjhATb_0076
|
||||
.youtube.com TRUE / TRUE 1809250908 __Secure-1PSID g.a0008QhuwSBdti8DNYxyM9YU69alpbC_ld3I6kiAxKeP6cg4_NnEfA52Qo2TQe6gruTXh5LFJQACgYKAY0SARUSFQHGX2Mi__S3mbPwuCiiEx94gGvNqBoVAUF8yKo-ZrKf_s2EQG2jul2aKe0W0076
|
||||
.youtube.com TRUE / TRUE 1809250908 __Secure-3PSID g.a0008QhuwSBdti8DNYxyM9YU69alpbC_ld3I6kiAxKeP6cg4_NnEazRFI-U-38Z9y0sBLs7TEwACgYKAXUSARUSFQHGX2Mima2kK-IIBhw-jqrpsNKuEhoVAUF8yKoqNywHa-JTB0NX6t9irRuB0076
|
||||
.youtube.com TRUE / TRUE 1806226914 __Secure-1PSIDTS sidts-CjQBWhotCYGbiWl6TcoeJUJMrce_wu2IMaLDuWbSbGO0OzKH7lAP5iRNWl2qTmtw0uCDMI-VEAA
|
||||
.youtube.com TRUE / TRUE 1806226914 __Secure-3PSIDTS sidts-CjQBWhotCYGbiWl6TcoeJUJMrce_wu2IMaLDuWbSbGO0OzKH7lAP5iRNWl2qTmtw0uCDMI-VEAA
|
||||
.youtube.com TRUE / TRUE 1808234883 __Secure-YEC CgtZeDcyYXZqZkotVSjjxJ7OBjIoCgJGUhIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgDg%3D%3D
|
||||
.youtube.com TRUE / FALSE 1806226916 SIDCC AKEyXzVAGyD3_8xiy8F0Gmdm-_JLPu5j0KE4_cKdxN7sPyHsuJhSBn8IXNQw7qxSH5EdVtQq
|
||||
.youtube.com TRUE / TRUE 1806226916 __Secure-1PSIDCC AKEyXzV9dFFb4cqbY4VdNXB56f9YNjrhmFDkoK9bL8gkjhUqYoWo6et6t91NXFEpTcBz5Oeq
|
||||
.youtube.com TRUE / TRUE 1806226916 __Secure-3PSIDCC AKEyXzWQ4aO8HDUbbYFjeyBoOfi0yVDZDkRnxFc6uetetjVumafheA_rImqo_efirpYaarI9mHk
|
||||
.youtube.com TRUE / TRUE 0 YSC qXtIVhsTNnQ
|
||||
.youtube.com TRUE / TRUE 1808818916 VISITOR_PRIVACY_METADATA CgJGUhIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgDg%3D%3D
|
||||
.youtube.com TRUE / TRUE 1790158665 __Secure-ROLLOUT_TOKEN CITl2fHjh52lNRDU0su3pauRAxixovr-7L-TAw%3D%3D
|
||||
@@ -0,0 +1,558 @@
|
||||
name: jellystack
|
||||
|
||||
networks:
|
||||
media_network:
|
||||
name: media_network
|
||||
driver: bridge
|
||||
attachable: true
|
||||
|
||||
services:
|
||||
# Gluetun - Manage VPN
|
||||
gluetun:
|
||||
image: qmcgaw/gluetun:latest
|
||||
container_name: gluetun
|
||||
hostname: gluetun
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
restart: always
|
||||
secrets:
|
||||
- wireguard_private_key
|
||||
env_file: ./env/gluetun.env
|
||||
volumes:
|
||||
- wireguard:/gluetun
|
||||
networks:
|
||||
- media_network
|
||||
ports:
|
||||
- 8100:8000 # Remote Control VPN
|
||||
- 2648:2648/tcp # cross-seed
|
||||
- 8989:8989 # sonarr
|
||||
- 8081:8081 # medusa
|
||||
- 7878:7878 # radarr
|
||||
- 9696:9696 # prowlarr
|
||||
- 8686:8686 # lidarr
|
||||
- 6767:6767 # bazarr
|
||||
- 9080:9080/tcp # qBit
|
||||
- 8694:8694/tcp # qBit
|
||||
- 6881:6881/udp # qBit
|
||||
- 8080:8080 # SABnzbd
|
||||
- 5656:5656/tcp # kapowarr
|
||||
# - 5004:5004/tcp # cabernet
|
||||
# - 6077:6077/tcp # cabernet
|
||||
- 7474:7474 # autobrr
|
||||
- 8191:8191/tcp # flaresolverr
|
||||
devices:
|
||||
- /dev/net/tun:/dev/net/tun
|
||||
|
||||
# Qbittorent - torrenting software
|
||||
qbittorrent:
|
||||
image: lscr.io/linuxserver/qbittorrent:latest
|
||||
container_name: qbittorrent
|
||||
network_mode: "service:gluetun"
|
||||
restart: always
|
||||
env_file: ./env/dnl.env
|
||||
volumes:
|
||||
- qbittorent:/config
|
||||
- torrents:/data/torrents
|
||||
healthcheck:
|
||||
test: curl -f http://localhost:9080 || exit 1
|
||||
interval: 10s
|
||||
timeout: 3s
|
||||
start_period: 60s
|
||||
depends_on:
|
||||
gluetun:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
|
||||
# SABnzbd
|
||||
sabnzbd:
|
||||
image: lscr.io/linuxserver/sabnzbd:latest
|
||||
container_name: sabnzbd
|
||||
restart: always
|
||||
network_mode: "service:gluetun"
|
||||
depends_on:
|
||||
gluetun:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
volumes:
|
||||
- sabnzbd:/config
|
||||
- usenet:/downloads
|
||||
- media:/data
|
||||
env_file: ./env/dnl.env
|
||||
|
||||
# Sonarr - Find shows automatically
|
||||
sonarr:
|
||||
image: lscr.io/linuxserver/sonarr:latest
|
||||
container_name: sonarr
|
||||
network_mode: "service:gluetun"
|
||||
restart: always
|
||||
env_file: ./env/arr.env
|
||||
volumes:
|
||||
- sonarr:/config
|
||||
- media:/data
|
||||
- tv-shows:/data/tv-shows
|
||||
- downloads:/downloads
|
||||
healthcheck:
|
||||
test: curl -f http://localhost:8989/ping || exit 1
|
||||
interval: 10s
|
||||
timeout: 3s
|
||||
start_period: 60s
|
||||
depends_on:
|
||||
gluetun:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
qbittorrent:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
|
||||
# Radarr - Find movies automatically
|
||||
radarr:
|
||||
image: lscr.io/linuxserver/radarr:latest
|
||||
container_name: radarr
|
||||
network_mode: "service:gluetun"
|
||||
restart: always
|
||||
env_file: ./env/arr.env
|
||||
volumes:
|
||||
- radarr:/config
|
||||
- media:/data
|
||||
- movies:/data/movies
|
||||
- downloads:/downloads
|
||||
healthcheck:
|
||||
test: curl -f http://localhost:7878/ping || exit 1
|
||||
interval: 10s
|
||||
timeout: 3s
|
||||
start_period: 60s
|
||||
depends_on:
|
||||
gluetun:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
qbittorrent:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
|
||||
# Prowlarr - Manages Sonarr, Radarr and download client
|
||||
prowlarr:
|
||||
image: lscr.io/linuxserver/prowlarr:latest
|
||||
container_name: prowlarr
|
||||
network_mode: "service:gluetun"
|
||||
restart: always
|
||||
env_file: ./env/arr.env
|
||||
volumes:
|
||||
- prowlarr:/config
|
||||
healthcheck:
|
||||
test: curl -f http://localhost:9696/ping || exit 1
|
||||
interval: 10s
|
||||
timeout: 3s
|
||||
start_period: 60s
|
||||
depends_on:
|
||||
gluetun:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
qbittorrent:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
sonarr:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
radarr:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
|
||||
# Bazarr - Subtitles. Try to use SRT format if you can rather than PGS due to performance issues
|
||||
bazarr:
|
||||
container_name: bazarr
|
||||
image: lscr.io/linuxserver/bazarr:latest
|
||||
restart: always
|
||||
network_mode: "service:gluetun"
|
||||
env_file: ./env/arr.env
|
||||
volumes:
|
||||
- bazarr:/config
|
||||
- media:/data/media
|
||||
healthcheck:
|
||||
test: curl -f http://localhost:6767 || exit 1
|
||||
interval: 10s
|
||||
timeout: 3s
|
||||
start_period: 60s
|
||||
depends_on:
|
||||
gluetun:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
|
||||
# Unpacker - Used to unzip zipped files
|
||||
unpackerr:
|
||||
image: golift/unpackerr:latest
|
||||
container_name: unpackerr
|
||||
restart: always
|
||||
env_file: ./env/arr.env
|
||||
networks:
|
||||
- media_network
|
||||
volumes:
|
||||
- unpackerr:/config
|
||||
- media:/data
|
||||
- downloads:/downloads
|
||||
depends_on:
|
||||
sonarr:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
radarr:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
|
||||
# Jellyfin - Media server
|
||||
jellyfin:
|
||||
image: ghcr.io/linuxserver/jellyfin:latest
|
||||
container_name: jellyfin
|
||||
hostname: jellyfin
|
||||
restart: always
|
||||
privileged: true
|
||||
env_file: ./env/jfn.env
|
||||
volumes:
|
||||
- jellyfin:/config
|
||||
- cache:/cache
|
||||
- media:/media
|
||||
networks:
|
||||
- media_network
|
||||
ports:
|
||||
- 8096:8096
|
||||
- 8920:8920
|
||||
devices:
|
||||
- /dev/dri:/dev/dri # Required for jellyfin HW transcoding / QuickSynci
|
||||
- /dev/dma_heap:/dev/dma_heap
|
||||
- /dev/fb0:/dev/fb0
|
||||
- /dev/mali0:/dev/mali0
|
||||
- /dev/rga:/dev/rga
|
||||
- /dev/mpp_service:/dev/mpp_service
|
||||
healthcheck:
|
||||
test: curl -i http://localhost:8096/health || exit 1
|
||||
interval: 10s
|
||||
timeout: 3s
|
||||
start_period: 60s
|
||||
|
||||
# Seer - Allows users to request media on their own
|
||||
seerr:
|
||||
container_name: seerr
|
||||
image: ghcr.io/seerr-team/seerr:latest
|
||||
init: true
|
||||
restart: always
|
||||
environment:
|
||||
- LOG_LEVEL=debug
|
||||
- PORT=5055
|
||||
networks:
|
||||
- media_network
|
||||
ports:
|
||||
- 5055:5055
|
||||
volumes:
|
||||
- seerr:/app/config
|
||||
# - media:/data/media
|
||||
healthcheck:
|
||||
test: wget --no-verbose --tries=1 --spider http://localhost:5055/api/v1/status || exit 1
|
||||
start_period: 20s
|
||||
timeout: 3s
|
||||
interval: 15s
|
||||
retries: 3
|
||||
depends_on:
|
||||
jellyfin:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
|
||||
# Wizarr - Create a share links that you can send to users to invite them to your media server
|
||||
wizarr:
|
||||
container_name: wizarr
|
||||
image: ghcr.io/wizarrrr/wizarr:latest
|
||||
restart: always
|
||||
volumes:
|
||||
- wizarr:/data/database
|
||||
networks:
|
||||
- media_network
|
||||
ports:
|
||||
- 5690:5690
|
||||
|
||||
# Tdarr - Transcode videos from one format to another like x265 or H.265
|
||||
tdarr:
|
||||
container_name: tdarr
|
||||
image: ghcr.io/haveagitgat/tdarr:latest
|
||||
privileged: true
|
||||
restart: always
|
||||
environment:
|
||||
- PUID=1002
|
||||
- PGID=1002
|
||||
- TZ=Europe/Paris
|
||||
- UMASK_SET=002
|
||||
- nodeName=ServerNode
|
||||
- serverIP=0.0.0.0
|
||||
- serverPort=8266
|
||||
- webUIPort=8265
|
||||
- internalNode=true
|
||||
- inContainer=true
|
||||
- ffmpegVersion=6
|
||||
volumes:
|
||||
- tdarr:/app/configs
|
||||
- tdarr_server:/app/server
|
||||
- tdarr_logs:/app/logs
|
||||
- media:/data/media
|
||||
- transcode_cache:/temp
|
||||
networks:
|
||||
- media_network
|
||||
ports:
|
||||
- 8265:8265 # webUI port
|
||||
- 8266:8266 # server port
|
||||
devices:
|
||||
- /dev/dri:/dev/dri # Required for HW transcoding /share QuickSyncinc
|
||||
- /dev/dma_heap:/dev/dma_heap
|
||||
- /dev/mali0:/dev/mali0
|
||||
- /dev/rga:/dev/rga
|
||||
- /dev/mpp_service:/dev/mpp_service
|
||||
|
||||
tdarr-node:
|
||||
container_name: tdarr-node
|
||||
image: ghcr.io/haveagitgat/tdarr_node:latest
|
||||
restart: always
|
||||
network_mode: service:tdarr
|
||||
environment:
|
||||
- TZ=Europe/Paris
|
||||
- PUID=1002
|
||||
- PGID=1002
|
||||
- UMASK_SET=002
|
||||
- nodeName=MainNode
|
||||
- serverIP=0.0.0.0
|
||||
- serverPort=8266
|
||||
- inContainer=true
|
||||
volumes:
|
||||
- tdarr:/app/configs
|
||||
- tdarr_logs:/app/logs
|
||||
- media:/data/media
|
||||
- transcode_cache:/temp
|
||||
|
||||
music-grabber:
|
||||
image: g33kphr33k/musicgrabber:latest
|
||||
container_name: music-grabber
|
||||
restart: always
|
||||
shm_size: '2gb'
|
||||
ports:
|
||||
- "38274:8080"
|
||||
volumes:
|
||||
- music:/music
|
||||
- music-grabber:/data
|
||||
environment:
|
||||
- MUSIC_DIR=/music
|
||||
- DB_PATH=/data/music_grabber.db
|
||||
# Optional: serve behind a reverse-proxy subpath (proxy must strip the prefix)
|
||||
# - ROOT_PATH=/musicgrabber
|
||||
- ENABLE_MUSICBRAINZ=true
|
||||
- DEFAULT_CONVERT_TO_FLAC=true
|
||||
# Optional: Run as specific user (like *arr stack) for correct file permissions
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
# Optional: Custom bind address/port (useful for IPv6 or non-standard setups)
|
||||
- LISTEN_ADDR=0.0.0.0
|
||||
- LISTEN_PORT=8080
|
||||
# Optional: Navidrome auto-rescan
|
||||
- NAVIDROME_URL=http://navidrome:4533
|
||||
- NAVIDROME_USER=admin
|
||||
- NAVIDROME_PASS=sandstorm-outcast-treat
|
||||
# Optional: Jellyfin auto-rescan
|
||||
- JELLYFIN_URL=https://jellyfin.delmar.bzh
|
||||
- JELLYFIN_API_KEY=65e51490397749d6945c4561a53e012a
|
||||
# AcoustID API key for audio fingerprinting (https://acoustid.org/api-key)
|
||||
- ACOUSTID_API_KEY=4b5DGYGrih
|
||||
# Optional: Notifications
|
||||
- NOTIFY_ON=playlists,bulk,errors
|
||||
# - TELEGRAM_WEBHOOK_URL=https://api.telegram.org/bot{token}/sendMessage?chat_id={chat_id}
|
||||
# - WEBHOOK_URL=https://your-webhook-endpoint.com/hook
|
||||
- APPRISE_URL=gotify://gotify.delmar.bzh/A-4Fe2UBRbV5J_J
|
||||
- SMTP_HOST=pro1.mail.ovh.net
|
||||
- SMTP_PORT=587
|
||||
- SMTP_USER=admin@delmar.bzh
|
||||
- SMTP_PASS=sxS4GA8rBfmFkCFL
|
||||
- SMTP_TO=jme69@delmar.bzh
|
||||
# Optional: Use a Monochrome mirror instead of the default instance
|
||||
# - MONOCHROME_API_URL=https://api.monochrome.tf
|
||||
|
||||
navidrome:
|
||||
image: deluan/navidrome:latest
|
||||
container_name: navidrome
|
||||
user: 1000:1000
|
||||
ports:
|
||||
- "4533:4533"
|
||||
restart: always
|
||||
environment:
|
||||
# Optional: put your config options customization here. Examples:
|
||||
- ND_LOGLEVEL=debug
|
||||
volumes:
|
||||
- navidrome:/data:rw
|
||||
- music:/music:ro
|
||||
|
||||
volumes:
|
||||
wireguard:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/wireguard"
|
||||
qbittorent:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/qbittorent"
|
||||
sabnzbd:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/sabnzbd"
|
||||
sabnzbd_backups:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/sabnzbd/backups"
|
||||
nzb_files:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/sabnzbd/Downloads/nzb_files"
|
||||
sonarr:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/sonarr"
|
||||
radarr:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/radarr"
|
||||
prowlarr:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/prowlarr"
|
||||
bazarr:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/bazarr"
|
||||
unpackerr:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/unpackerr"
|
||||
jellyfin:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/jellyfin"
|
||||
navidrome:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/navidrome"
|
||||
music-grabber:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/music-grabber"
|
||||
tdarr:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/tdarr"
|
||||
tdarr_server:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/tdarr_server"
|
||||
tdarr_logs:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/tdarr_logs"
|
||||
transcode_cache:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/tdarr_cache"
|
||||
cache:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/cache"
|
||||
seerr:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/seerr"
|
||||
wizarr:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/wizarr/data/database"
|
||||
media:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "nfs"
|
||||
o: "addr=192.168.1.15,nolock,soft,rw"
|
||||
device: "/srv/nfs4/media"
|
||||
tv-shows:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "nfs"
|
||||
o: "addr=192.168.1.15,nolock,soft,rw"
|
||||
device: "/srv/nfs4/media/tv-shows"
|
||||
movies:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "nfs"
|
||||
o: "addr=192.168.1.15,nolock,soft,rw"
|
||||
device: "/srv/nfs4/media/movies"
|
||||
music:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "nfs"
|
||||
o: "addr=192.168.1.15,nolock,soft,rw"
|
||||
device: "/srv/nfs4/media/music"
|
||||
downloads:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "nfs"
|
||||
o: "addr=192.168.1.15,nolock,soft,rw"
|
||||
device: "/srv/nfs4/media/downloads"
|
||||
torrents:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "nfs"
|
||||
o: "addr=192.168.1.15,nolock,soft,rw"
|
||||
device: "/srv/nfs4/downloads/torrents"
|
||||
usenet:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "nfs"
|
||||
o: "addr=192.168.1.15,nolock,soft,rw"
|
||||
device: "/srv/nfs4/downloads/usenet"
|
||||
|
||||
secrets:
|
||||
wireguard_private_key:
|
||||
file: ./secrets/wireguard_private_key.secret
|
||||
bittorrent-user:
|
||||
file: ./secrets/bittorrent-user.secret
|
||||
bittorrent-password:
|
||||
file: ./secrets/bittorrent-password.secret
|
||||
radarr-api:
|
||||
file: ./secrets/radarr-api.secret
|
||||
sonarr-api:
|
||||
file: ./secrets/sonarr-api.secret
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: downloads
|
||||
name: downloads
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,52 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
FAILED_IMPORT_MESSAGE_PATTERNS: |2-
|
||||
[
|
||||
"Not a Custom Format upgrade for existing",
|
||||
"Not an upgrade for existing"
|
||||
]
|
||||
LIDARR_KEY: 738c46a0a81a481bb70f20c51e19ee79
|
||||
LIDARR_URL: http://gluetun:8686
|
||||
LOG_LEVEL: INFO
|
||||
MIN_DOWNLOAD_SPEED: "100"
|
||||
NO_STALLED_REMOVAL_QBIT_TAG: Don't Kill
|
||||
PERMITTED_ATTEMPTS: "3"
|
||||
PGID: "1000"
|
||||
PUID: "1000"
|
||||
QBITTORRENT_PASSWORD: sandstorm-outcast-treat
|
||||
QBITTORRENT_URL: http://gluetun:9080
|
||||
QBITTORRENT_USERNAME: admin
|
||||
RADARR_KEY: 5426802b36704e1ab8d7b37bfbd6e0d4
|
||||
RADARR_URL: http://gluetun:7878
|
||||
REMOVE_FAILED: "True"
|
||||
REMOVE_FAILED_IMPORTS: "True"
|
||||
REMOVE_METADATA_MISSING: "True"
|
||||
REMOVE_MISSING_FILES: "True"
|
||||
REMOVE_ORPHANS: "True"
|
||||
REMOVE_SLOW: "True"
|
||||
REMOVE_STALLED: "True"
|
||||
REMOVE_TIMER: "10"
|
||||
REMOVE_UNMONITORED: "True"
|
||||
RUN_PERIODIC_RESCANS: |2-
|
||||
{
|
||||
"SONARR": {"MISSING": true, "CUTOFF_UNMET": true, "MAX_CONCURRENT_SCANS": 3, "MIN_DAYS_BEFORE_RESCAN": 7},
|
||||
"RADARR": {"MISSING": true, "CUTOFF_UNMET": true, "MAX_CONCURRENT_SCANS": 3, "MIN_DAYS_BEFORE_RESCAN": 7}
|
||||
}
|
||||
SONARR_KEY: facc8fdf9c3b420f878c6df9cb2fb78b
|
||||
SONARR_URL: http://gluetun:8989
|
||||
TZ: Europe/Paris
|
||||
UN_LOG_FILE: /config/unpackerr.log
|
||||
UN_RADARR_0_API_KEY: 5426802b36704e1ab8d7b37bfbd6e0d4
|
||||
UN_RADARR_0_PATHS_0: /nfs/media/downloads/usenet/complete/radarr
|
||||
UN_RADARR_0_TIMEOUT: 10s
|
||||
UN_RADARR_0_URL: http://gluetun:7878
|
||||
UN_SONARR_0_API_KEY: facc8fdf9c3b420f878c6df9cb2fb78b
|
||||
UN_SONARR_0_PATHS_0: /nfs/media/downloads/usenet/complete/tv-sonarr
|
||||
UN_SONARR_0_TIMEOUT: 10s
|
||||
UN_SONARR_0_URL: http://gluetun:8989
|
||||
UN_START_DELAY: 1m
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: bazarr-env-arr-env
|
||||
name: env-arr-env
|
||||
@@ -0,0 +1,17 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
GTN_ADDR: http://gluetun:8000
|
||||
PGID: "1000"
|
||||
PUID: "1000"
|
||||
QBT_ADDR: http://gluetun:9080
|
||||
QBT_PASSWORD: /run/secrets/bittorrent-passowrd
|
||||
QBT_USERNAME: /run/secrets/bittorrent-user
|
||||
TORRENTING_PORT: "8694"
|
||||
TZ: Europe/Paris
|
||||
UMASK: "002"
|
||||
WEBUI_PORT: "9080"
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: qbittorrent-env-dnl-env
|
||||
name: env-dnl-env
|
||||
@@ -0,0 +1,21 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
DOT_PROVIDERS: cloudflare,google
|
||||
PGID: "1000"
|
||||
PUBLICIP_API: ip2location
|
||||
PUID: "1000"
|
||||
SERVER_COUNTRIES: France
|
||||
TZ: Europe/Paris
|
||||
UNBLOCK: usenetserver.com
|
||||
UPDATER_PERIOD: 24h
|
||||
VPN_AUTO_PORT_FORWARD: "true"
|
||||
VPN_PORT_FORWARDING_STATUS_FILE: ./gluetun/forwarded_port
|
||||
VPN_SERVICE_PROVIDER: protonvpn
|
||||
VPN_TYPE: wireguard
|
||||
WIREGUARD_ADDRESSES: 10.2.0.2/32
|
||||
WIREGUARD_PRIVATE_KEY: /run/secrets/wireguard_private_key
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: gluetun-env-gluetun-env
|
||||
name: env-gluetun-env
|
||||
@@ -0,0 +1,13 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
JELLYFIN_PublishedServerUrl: https://jellyfin.delmar.bzh
|
||||
LOG_LEVEL: info
|
||||
PGID: "1000"
|
||||
PUID: "1000"
|
||||
SUGGESTARR_PORT: "5000"
|
||||
TZ: Europe/Paris
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: jellyfin-env-jfn-env
|
||||
name: env-jfn-env
|
||||
Vendored
+70
@@ -0,0 +1,70 @@
|
||||
# arr-suite
|
||||
PUID: 1000
|
||||
PGID: 1000
|
||||
TZ: Europe/Paris
|
||||
# unpackerr
|
||||
UN_START_DELAY=1m
|
||||
UN_LOG_FILE: /config/unpackerr.log
|
||||
# UMASK: 002
|
||||
# UN_DEBUG: true
|
||||
## Sonarr
|
||||
UN_SONARR_0_URL: http://gluetun:8989
|
||||
# UN_SONARR_0_API_KEY: /run/secrets/sonarr-api
|
||||
UN_SONARR_0_API_KEY: facc8fdf9c3b420f878c6df9cb2fb78b
|
||||
UN_SONARR_0_TIMEOUT=10s
|
||||
UN_SONARR_0_PATHS_0=/nfs/media/downloads/usenet/complete/tv-sonarr
|
||||
## Radarr
|
||||
UN_RADARR_0_URL: http://gluetun:7878
|
||||
# UN_RADARR_0_API_KEY: /run/secrets/radarr-api
|
||||
UN_RADARR_0_API_KEY: 5426802b36704e1ab8d7b37bfbd6e0d4
|
||||
UN_RADARR_0_TIMEOUT: 10s
|
||||
UN_RADARR_0_PATHS_0: /nfs/media/downloads/usenet/complete/radarr
|
||||
# declutarr
|
||||
## General
|
||||
# TEST_RUN=True
|
||||
# SSL_VERIFICATION: False
|
||||
LOG_LEVEL: INFO
|
||||
## Features
|
||||
REMOVE_TIMER: 10
|
||||
REMOVE_FAILED: True
|
||||
REMOVE_FAILED_IMPORTS: True
|
||||
REMOVE_METADATA_MISSING: True
|
||||
REMOVE_MISSING_FILES: True
|
||||
REMOVE_ORPHANS: True
|
||||
REMOVE_SLOW: True
|
||||
REMOVE_STALLED: True
|
||||
REMOVE_UNMONITORED: True
|
||||
RUN_PERIODIC_RESCANS: '
|
||||
{
|
||||
"SONARR": {"MISSING": true, "CUTOFF_UNMET": true, "MAX_CONCURRENT_SCANS": 3, "MIN_DAYS_BEFORE_RESCAN": 7},
|
||||
"RADARR": {"MISSING": true, "CUTOFF_UNMET": true, "MAX_CONCURRENT_SCANS": 3, "MIN_DAYS_BEFORE_RESCAN": 7}
|
||||
}'
|
||||
# Feature Settings
|
||||
PERMITTED_ATTEMPTS: 3
|
||||
NO_STALLED_REMOVAL_QBIT_TAG: Don't Kill
|
||||
MIN_DOWNLOAD_SPEED: 100
|
||||
FAILED_IMPORT_MESSAGE_PATTERNS: '
|
||||
[
|
||||
"Not a Custom Format upgrade for existing",
|
||||
"Not an upgrade for existing"
|
||||
]'
|
||||
## Sonarr
|
||||
SONARR_URL: http://gluetun:8989
|
||||
# SONARR_KEY: /run/secrets/sonarr-api
|
||||
SONARR_KEY: facc8fdf9c3b420f878c6df9cb2fb78b
|
||||
## Radarr
|
||||
RADARR_URL: http://gluetun:7878
|
||||
# RADARR_KEY: /run/secrets/radarr-api
|
||||
RADARR_KEY: 5426802b36704e1ab8d7b37bfbd6e0d4
|
||||
## Lidarr
|
||||
LIDARR_URL: http://gluetun:8686
|
||||
# LIDARR_KEY: /run/secrets/lidarr-api
|
||||
LIDARR_KEY: 738c46a0a81a481bb70f20c51e19ee79
|
||||
## Readarr
|
||||
# READARR_URL: http://gluetun:8787
|
||||
# READARR_KEY: /run/secrets/readarr-api
|
||||
## qBitorrent
|
||||
QBITTORRENT_URL: http://gluetun:9080
|
||||
QBITTORRENT_USERNAME: admin
|
||||
QBITTORRENT_PASSWORD: sandstorm-outcast-treat
|
||||
|
||||
Vendored
+22
@@ -0,0 +1,22 @@
|
||||
# All
|
||||
PUID: 1000
|
||||
PGID: 1000
|
||||
TZ: Europe/Paris
|
||||
BASE_PATH: /mnt/ssd/docker/compose/jellystack
|
||||
# gluetun.env
|
||||
VPN_SERVICE_PROVIDER: protonvpn
|
||||
VPN_TYPE: wireguard
|
||||
WIREGUARD_PRIVATE_KEY: /run/secrets/wireguard_private_key
|
||||
WIREGUARD_ADDRESSES: 10.2.0.2/32
|
||||
SERVER_COUNTRIES: France
|
||||
|
||||
MEDIA_SHARE: /nfs/media
|
||||
NAS_MEDIA: /nfs/media
|
||||
JELLYFIN_URL: https://jellyfin.delmar.bzh
|
||||
SONARR_KEY: facc8fdf9c3b420f878c6df9cb2fb78
|
||||
RADARR_KEY: 5426802b36704e1ab8d7b37bfbd6e0d4
|
||||
READARR_KEY: f9ddc1e64d004ff88a01e0672ce10762
|
||||
LIDARR_KEY: 738c46a0a81a481bb70f20c51e19ee79
|
||||
OPENVPN_USER: u97gzcUx2gei2toi
|
||||
OPENVPN_PASSWORD: I78VQcnazNoOY8jzpqBwuw38HglJHK21
|
||||
OPENVPN_SERVER_COUNTRIES: France
|
||||
Vendored
+12
@@ -0,0 +1,12 @@
|
||||
# qBittorrent
|
||||
PUID: 1000
|
||||
PGID: 1000
|
||||
UMASK: 002
|
||||
TZ: Europe/Paris
|
||||
WEBUI_PORT: 9080
|
||||
TORRENTING_PORT: 8694
|
||||
# Bittorrent Port Forwarder
|
||||
QBT_USERNAME: /run/secrets/bittorrent-user
|
||||
QBT_PASSWORD: /run/secrets/bittorrent-passowrd
|
||||
QBT_ADDR: http://gluetun:9080
|
||||
GTN_ADDR: http://gluetun:8000
|
||||
Vendored
+16
@@ -0,0 +1,16 @@
|
||||
# gluetun.env
|
||||
PUID: 1000
|
||||
PGID: 1000
|
||||
TZ: Europe/Paris
|
||||
VPN_SERVICE_PROVIDER: protonvpn
|
||||
VPN_TYPE: wireguard
|
||||
VPN_PORT_FORWARDING_STATUS_FILE: ./gluetun/forwarded_port
|
||||
UPDATER_PERIOD: 24h
|
||||
DOT_PROVIDERS: cloudflare,google
|
||||
PUBLICIP_API: ip2location
|
||||
# Wireguard Settings:
|
||||
WIREGUARD_PRIVATE_KEY: /run/secrets/wireguard_private_key
|
||||
WIREGUARD_ADDRESSES: 10.2.0.2/32
|
||||
SERVER_COUNTRIES: France
|
||||
VPN_AUTO_PORT_FORWARD: true
|
||||
UNBLOCK: usenetserver.com
|
||||
Vendored
+11
@@ -0,0 +1,11 @@
|
||||
# jellyfin
|
||||
PUID: 1000
|
||||
PGID: 1000
|
||||
JELLYFIN_PublishedServerUrl: https://jellyfin.delmar.bzh
|
||||
TZ: Europe/Paris
|
||||
# jellyseerr.env
|
||||
LOG_LEVEL: debug
|
||||
# suggestarr
|
||||
LOG_LEVEL: info
|
||||
## Optional: Customize the port (defaults to 5000 if not set)
|
||||
SUGGESTARR_PORT: 5000
|
||||
@@ -0,0 +1,186 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||
labels:
|
||||
io.kompose.service: gluetun
|
||||
name: gluetun
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: gluetun
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||
labels:
|
||||
io.kompose.service: gluetun
|
||||
spec:
|
||||
containers:
|
||||
- envFrom:
|
||||
- configMapRef:
|
||||
name: env-gluetun-env
|
||||
image: qmcgaw/gluetun:latest
|
||||
name: gluetun
|
||||
ports:
|
||||
- containerPort: 8000
|
||||
protocol: TCP
|
||||
- containerPort: 2648
|
||||
protocol: TCP
|
||||
- containerPort: 8989
|
||||
protocol: TCP
|
||||
- containerPort: 8081
|
||||
protocol: TCP
|
||||
- containerPort: 7878
|
||||
protocol: TCP
|
||||
- containerPort: 9696
|
||||
protocol: TCP
|
||||
- containerPort: 8686
|
||||
protocol: TCP
|
||||
- containerPort: 6767
|
||||
protocol: TCP
|
||||
- containerPort: 9080
|
||||
protocol: TCP
|
||||
- containerPort: 8694
|
||||
protocol: TCP
|
||||
- containerPort: 6881
|
||||
protocol: UDP
|
||||
- containerPort: 8080
|
||||
protocol: TCP
|
||||
- containerPort: 5656
|
||||
protocol: TCP
|
||||
- containerPort: 7474
|
||||
protocol: TCP
|
||||
- containerPort: 8191
|
||||
protocol: TCP
|
||||
securityContext:
|
||||
capabilities:
|
||||
add:
|
||||
- NET_ADMIN
|
||||
volumeMounts:
|
||||
- mountPath: /run/secrets
|
||||
name: wireguard-private-key
|
||||
subPath: wireguard-private-key
|
||||
- mountPath: /gluetun
|
||||
name: wireguard
|
||||
- envFrom:
|
||||
- configMapRef:
|
||||
name: env-arr-env
|
||||
image: lscr.io/linuxserver/bazarr:latest
|
||||
livenessProbe:
|
||||
exec:
|
||||
command:
|
||||
- curl -f http://localhost:6767 || exit 1
|
||||
initialDelaySeconds: 60
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 3
|
||||
name: bazarr
|
||||
volumeMounts:
|
||||
- mountPath: /config
|
||||
name: bazarr
|
||||
- mountPath: /data/media
|
||||
name: media
|
||||
- envFrom:
|
||||
- configMapRef:
|
||||
name: env-arr-env
|
||||
image: lscr.io/linuxserver/prowlarr:latest
|
||||
livenessProbe:
|
||||
exec:
|
||||
command:
|
||||
- curl -f http://localhost:9696/ping || exit 1
|
||||
initialDelaySeconds: 60
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 3
|
||||
name: prowlarr
|
||||
volumeMounts:
|
||||
- mountPath: /config
|
||||
name: prowlarr
|
||||
- envFrom:
|
||||
- configMapRef:
|
||||
name: env-arr-env
|
||||
image: lscr.io/linuxserver/sonarr:latest
|
||||
livenessProbe:
|
||||
exec:
|
||||
command:
|
||||
- curl -f http://localhost:8989/ping || exit 1
|
||||
initialDelaySeconds: 60
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 3
|
||||
name: sonarr
|
||||
volumeMounts:
|
||||
- mountPath: /config
|
||||
name: sonarr
|
||||
- mountPath: /data
|
||||
name: media
|
||||
- mountPath: /data/tv-shows
|
||||
name: tv-shows
|
||||
- mountPath: /downloads
|
||||
name: downloads
|
||||
- envFrom:
|
||||
- configMapRef:
|
||||
name: env-arr-env
|
||||
image: lscr.io/linuxserver/radarr:latest
|
||||
livenessProbe:
|
||||
exec:
|
||||
command:
|
||||
- curl -f http://localhost:7878/ping || exit 1
|
||||
initialDelaySeconds: 60
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 3
|
||||
name: radarr
|
||||
volumeMounts:
|
||||
- mountPath: /config
|
||||
name: radarr
|
||||
- mountPath: /data
|
||||
name: media
|
||||
- mountPath: /data/movies
|
||||
name: movies
|
||||
- mountPath: /downloads
|
||||
name: downloads
|
||||
- envFrom:
|
||||
- configMapRef:
|
||||
name: env-dnl-env
|
||||
image: lscr.io/linuxserver/sabnzbd:latest
|
||||
name: sabnzbd
|
||||
volumeMounts:
|
||||
- mountPath: /config
|
||||
name: sabnzbd
|
||||
- mountPath: /downloads
|
||||
name: usenet
|
||||
- mountPath: /data
|
||||
name: media
|
||||
- envFrom:
|
||||
- configMapRef:
|
||||
name: env-dnl-env
|
||||
image: lscr.io/linuxserver/qbittorrent:latest
|
||||
livenessProbe:
|
||||
exec:
|
||||
command:
|
||||
- curl -f http://localhost:9080 || exit 1
|
||||
initialDelaySeconds: 60
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 3
|
||||
name: qbittorrent
|
||||
volumeMounts:
|
||||
- mountPath: /config
|
||||
name: qbittorent
|
||||
- mountPath: /data/torrents
|
||||
name: torrents
|
||||
hostname: gluetun
|
||||
restartPolicy: Always
|
||||
volumes:
|
||||
- name: wireguard-private-key
|
||||
secret:
|
||||
items:
|
||||
- key: wireguard-private-key
|
||||
path: wireguard-private-key
|
||||
secretName: wireguard-private-key
|
||||
- name: wireguard
|
||||
persistentVolumeClaim:
|
||||
claimName: wireguard
|
||||
@@ -0,0 +1,59 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||
labels:
|
||||
io.kompose.service: gluetun
|
||||
name: gluetun
|
||||
spec:
|
||||
ports:
|
||||
- name: "8100"
|
||||
port: 8100
|
||||
targetPort: 8000
|
||||
- name: "2648"
|
||||
port: 2648
|
||||
targetPort: 2648
|
||||
- name: "8989"
|
||||
port: 8989
|
||||
targetPort: 8989
|
||||
- name: "8081"
|
||||
port: 8081
|
||||
targetPort: 8081
|
||||
- name: "7878"
|
||||
port: 7878
|
||||
targetPort: 7878
|
||||
- name: "9696"
|
||||
port: 9696
|
||||
targetPort: 9696
|
||||
- name: "8686"
|
||||
port: 8686
|
||||
targetPort: 8686
|
||||
- name: "6767"
|
||||
port: 6767
|
||||
targetPort: 6767
|
||||
- name: "9080"
|
||||
port: 9080
|
||||
targetPort: 9080
|
||||
- name: "8694"
|
||||
port: 8694
|
||||
targetPort: 8694
|
||||
- name: "6881"
|
||||
port: 6881
|
||||
protocol: UDP
|
||||
targetPort: 6881
|
||||
- name: "8080"
|
||||
port: 8080
|
||||
targetPort: 8080
|
||||
- name: "5656"
|
||||
port: 5656
|
||||
targetPort: 5656
|
||||
- name: "7474"
|
||||
port: 7474
|
||||
targetPort: 7474
|
||||
- name: "8191"
|
||||
port: 8191
|
||||
targetPort: 8191
|
||||
selector:
|
||||
io.kompose.service: gluetun
|
||||
@@ -0,0 +1,63 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||
labels:
|
||||
io.kompose.service: jellyfin
|
||||
name: jellyfin
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: jellyfin
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||
labels:
|
||||
io.kompose.service: jellyfin
|
||||
spec:
|
||||
containers:
|
||||
- envFrom:
|
||||
- configMapRef:
|
||||
name: env-jfn-env
|
||||
image: ghcr.io/linuxserver/jellyfin:latest
|
||||
livenessProbe:
|
||||
exec:
|
||||
command:
|
||||
- curl -i http://localhost:8096/health || exit 1
|
||||
initialDelaySeconds: 60
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 3
|
||||
name: jellyfin
|
||||
ports:
|
||||
- containerPort: 8096
|
||||
protocol: TCP
|
||||
- containerPort: 8920
|
||||
protocol: TCP
|
||||
securityContext:
|
||||
privileged: true
|
||||
volumeMounts:
|
||||
- mountPath: /config
|
||||
name: jellyfin
|
||||
- mountPath: /cache
|
||||
name: cache
|
||||
- mountPath: /media
|
||||
name: media
|
||||
hostname: jellyfin
|
||||
restartPolicy: Always
|
||||
volumes:
|
||||
- name: jellyfin
|
||||
persistentVolumeClaim:
|
||||
claimName: jellyfin
|
||||
- name: cache
|
||||
persistentVolumeClaim:
|
||||
claimName: cache
|
||||
- name: media
|
||||
persistentVolumeClaim:
|
||||
claimName: media
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: jellyfin
|
||||
name: jellyfin
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,19 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||
labels:
|
||||
io.kompose.service: jellyfin
|
||||
name: jellyfin
|
||||
spec:
|
||||
ports:
|
||||
- name: "8096"
|
||||
port: 8096
|
||||
targetPort: 8096
|
||||
- name: "8920"
|
||||
port: 8920
|
||||
targetPort: 8920
|
||||
selector:
|
||||
io.kompose.service: jellyfin
|
||||
@@ -0,0 +1,519 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: jellystack
|
||||
---
|
||||
# =========================
|
||||
# PROWLARR
|
||||
# =========================
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: prowlarr
|
||||
namespace: jellystack
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: prowlarr
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: prowlarr
|
||||
spec:
|
||||
containers:
|
||||
- name: prowlarr
|
||||
image: lscr.io/linuxserver/prowlarr:latest
|
||||
ports:
|
||||
- containerPort: 9696
|
||||
name: http
|
||||
env:
|
||||
- name: PUID
|
||||
value: "1000"
|
||||
- name: PGID
|
||||
value: "1000"
|
||||
- name: TZ
|
||||
value: "Europe/Paris"
|
||||
volumeMounts:
|
||||
- name: cfg
|
||||
mountPath: /config
|
||||
volumes:
|
||||
- name: cfg
|
||||
hostPath:
|
||||
path: /data/arr/config/prowlarr
|
||||
type: DirectoryOrCreate
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: prowlarr
|
||||
namespace: jellystack
|
||||
spec:
|
||||
selector:
|
||||
app: prowlarr
|
||||
ports:
|
||||
- name: http
|
||||
port: 9696
|
||||
targetPort: http
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: prowlarr
|
||||
namespace: jellystack
|
||||
spec:
|
||||
ingressClassName: traefik
|
||||
rules:
|
||||
- host: prowlarr.delmar.bzh
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: prowlarr
|
||||
port:
|
||||
number: 9696
|
||||
---
|
||||
# =========================
|
||||
# DOWNLOADER
|
||||
# =========================
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: downloader
|
||||
namespace: jellystack
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: downloader
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: downloader
|
||||
spec:
|
||||
containers:
|
||||
- name: downloader
|
||||
image: lscr.io/linuxserver/downloader:latest
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
name: webui
|
||||
- containerPort: 6881
|
||||
name: bt-tcp
|
||||
protocol: TCP
|
||||
- containerPort: 6881
|
||||
name: bt-udp
|
||||
protocol: UDP
|
||||
env:
|
||||
- name: PUID
|
||||
value: "1000"
|
||||
- name: PGID
|
||||
value: "1000"
|
||||
- name: TZ
|
||||
value: "Europe/Paris"
|
||||
- name: WEBUI_PORT
|
||||
value: "8080"
|
||||
volumeMounts:
|
||||
- name: cfg
|
||||
mountPath: /config
|
||||
- name: dl
|
||||
mountPath: /downloads
|
||||
- name: dl-inc
|
||||
mountPath: /incomplete
|
||||
volumes:
|
||||
- name: cfg
|
||||
hostPath:
|
||||
path: /data/arr/config/downloader
|
||||
type: DirectoryOrCreate
|
||||
- name: dl
|
||||
hostPath:
|
||||
path: /data/arr/downloads
|
||||
type: DirectoryOrCreate
|
||||
- name: dl-inc
|
||||
hostPath:
|
||||
path: /data/arr/incomplete
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: downloader
|
||||
namespace: jellystack
|
||||
spec:
|
||||
selector:
|
||||
app: downloader
|
||||
ports:
|
||||
- name: webui
|
||||
port: 8080
|
||||
targetPort: webui
|
||||
---
|
||||
# Expose P2P ports (forward from router to node IP)
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: downloader-p2p
|
||||
namespace: jellystack
|
||||
spec:
|
||||
type: NodePort
|
||||
selector:
|
||||
app: downloader
|
||||
ports:
|
||||
- name: bt-tcp
|
||||
port: 6881
|
||||
targetPort: bt-tcp
|
||||
nodePort: 31681
|
||||
protocol: TCP
|
||||
- name: bt-udp
|
||||
port: 6881
|
||||
targetPort: bt-udp
|
||||
nodePort: 31682
|
||||
protocol: UDP
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: downloader
|
||||
namespace: jellystack
|
||||
spec:
|
||||
ingressClassName: traefik
|
||||
rules:
|
||||
- host: downloader.delmar.bzh
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: downloader
|
||||
port:
|
||||
number: 8080
|
||||
---
|
||||
# =========================
|
||||
# SONARR
|
||||
# =========================
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: sonarr
|
||||
namespace: jellystack
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: sonarr
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: sonarr
|
||||
spec:
|
||||
containers:
|
||||
- name: sonarr
|
||||
image: lscr.io/linuxserver/sonarr:latest
|
||||
ports:
|
||||
- containerPort: 8989
|
||||
name: http
|
||||
env:
|
||||
- name: PUID
|
||||
value: "1000"
|
||||
- name: PGID
|
||||
value: "1000"
|
||||
- name: TZ
|
||||
value: "Europe/Paris"
|
||||
volumeMounts:
|
||||
- name: cfg
|
||||
mountPath: /config
|
||||
- name: dl
|
||||
mountPath: /downloads
|
||||
- name: lib
|
||||
mountPath: /media
|
||||
volumes:
|
||||
- name: cfg
|
||||
hostPath:
|
||||
path: /data/arr/config/sonarr
|
||||
type: DirectoryOrCreate
|
||||
- name: dl
|
||||
hostPath:
|
||||
path: /data/arr/downloads
|
||||
type: DirectoryOrCreate
|
||||
- name: lib
|
||||
hostPath:
|
||||
path: /data/arr/media
|
||||
type: DirectoryOrCreate
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: sonarr
|
||||
namespace: jellystack
|
||||
spec:
|
||||
selector:
|
||||
app: sonarr
|
||||
ports:
|
||||
- name: http
|
||||
port: 8989
|
||||
targetPort: http
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: sonarr
|
||||
namespace: jellystack
|
||||
spec:
|
||||
ingressClassName: traefik
|
||||
rules:
|
||||
- host: sonarr.delmar.bzh
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: sonarr
|
||||
port:
|
||||
number: 8989
|
||||
---
|
||||
# =========================
|
||||
# RADARR
|
||||
# =========================
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: radarr
|
||||
namespace: jellystack
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: radarr
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: radarr
|
||||
spec:
|
||||
containers:
|
||||
- name: radarr
|
||||
image: lscr.io/linuxserver/radarr:latest
|
||||
ports:
|
||||
- containerPort: 7878
|
||||
name: http
|
||||
env:
|
||||
- name: PUID
|
||||
value: "1000"
|
||||
- name: PGID
|
||||
value: "1000"
|
||||
- name: TZ
|
||||
value: "Europe/Paris"
|
||||
volumeMounts:
|
||||
- name: cfg
|
||||
mountPath: /config
|
||||
- name: dl
|
||||
mountPath: /downloads
|
||||
- name: lib
|
||||
mountPath: /media
|
||||
volumes:
|
||||
- name: cfg
|
||||
hostPath:
|
||||
path: /data/arr/config/radarr
|
||||
type: DirectoryOrCreate
|
||||
- name: dl
|
||||
hostPath:
|
||||
path: /data/arr/downloads
|
||||
type: DirectoryOrCreate
|
||||
- name: lib
|
||||
hostPath:
|
||||
path: /data/arr/media
|
||||
type: DirectoryOrCreate
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: radarr
|
||||
namespace: jellystack
|
||||
spec:
|
||||
selector:
|
||||
app: radarr
|
||||
ports:
|
||||
- name: http
|
||||
port: 7878
|
||||
targetPort: http
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: radarr
|
||||
namespace: jellystack
|
||||
spec:
|
||||
ingressClassName: traefik
|
||||
rules:
|
||||
- host: radarr.delmar.bzh
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: radarr
|
||||
port:
|
||||
number: 7878
|
||||
---
|
||||
# =========================
|
||||
# BAZARR
|
||||
# =========================
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: bazarr
|
||||
namespace: jellystack
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: bazarr
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: bazarr
|
||||
spec:
|
||||
containers:
|
||||
- name: bazarr
|
||||
image: lscr.io/linuxserver/bazarr:latest
|
||||
ports:
|
||||
- containerPort: 6767
|
||||
name: http
|
||||
env:
|
||||
- name: PUID
|
||||
value: "1000"
|
||||
- name: PGID
|
||||
value: "1000"
|
||||
- name: TZ
|
||||
value: "Europe/Paris"
|
||||
volumeMounts:
|
||||
- name: cfg
|
||||
mountPath: /config
|
||||
- name: lib
|
||||
mountPath: /media
|
||||
- name: subs
|
||||
mountPath: /subtitles
|
||||
volumes:
|
||||
- name: cfg
|
||||
hostPath:
|
||||
path: /data/arr/config/bazarr
|
||||
type: DirectoryOrCreate
|
||||
- name: lib
|
||||
hostPath:
|
||||
path: /data/arr/media
|
||||
type: DirectoryOrCreate
|
||||
- name: subs
|
||||
hostPath:
|
||||
path: /data/arr/subtitles
|
||||
type: DirectoryOrCreate
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: bazarr
|
||||
namespace: jellystack
|
||||
spec:
|
||||
selector:
|
||||
app: bazarr
|
||||
ports:
|
||||
- name: http
|
||||
port: 6767
|
||||
targetPort: http
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: bazarr
|
||||
namespace: jellystack
|
||||
spec:
|
||||
ingressClassName: traefik
|
||||
rules:
|
||||
- host: bazarr.delmar.bzh
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: bazarr
|
||||
port:
|
||||
number: 6767
|
||||
---
|
||||
# =========================
|
||||
# JELLYFIN
|
||||
# =========================
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: jellyfin
|
||||
namespace: jellystack
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: jellyfin
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: jellyfin
|
||||
spec:
|
||||
containers:
|
||||
- name: jellyfin
|
||||
image: lscr.io/linuxserver/jellyfin:latest
|
||||
ports:
|
||||
- containerPort: 8096
|
||||
name: http
|
||||
env:
|
||||
- name: PUID
|
||||
value: "1000"
|
||||
- name: PGID
|
||||
value: "1000"
|
||||
- name: TZ
|
||||
value: "Europe/Paris"
|
||||
volumeMounts:
|
||||
- name: cfg
|
||||
mountPath: /config
|
||||
- name: lib
|
||||
mountPath: /media
|
||||
volumes:
|
||||
- name: cfg
|
||||
hostPath:
|
||||
path: /data/arr/config/jellyfin
|
||||
type: DirectoryOrCreate
|
||||
- name: lib
|
||||
hostPath:
|
||||
path: /data/arr/media
|
||||
type: DirectoryOrCreate
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: jellyfin
|
||||
namespace: jellystack
|
||||
spec:
|
||||
selector:
|
||||
app: jellyfin
|
||||
ports:
|
||||
- name: http
|
||||
port: 8096
|
||||
targetPort: http
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: jellyfin
|
||||
namespace: jellystack
|
||||
spec:
|
||||
ingressClassName: traefik
|
||||
rules:
|
||||
- host: jellyfin.delmar.bzh
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: jellyfin
|
||||
port:
|
||||
number: 8096
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: media
|
||||
name: media
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: movies
|
||||
name: movies
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: music-grabber-data
|
||||
name: music-grabber-data
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,86 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||
labels:
|
||||
io.kompose.service: music-grabber
|
||||
name: music-grabber
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: music-grabber
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||
labels:
|
||||
io.kompose.service: music-grabber
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: ACOUSTID_API_KEY
|
||||
value: 4b5DGYGrih
|
||||
- name: APPRISE_URL
|
||||
value: gotify://gotify.delmar.bzh/A-4Fe2UBRbV5J_J
|
||||
- name: DB_PATH
|
||||
value: /data/music_grabber.db
|
||||
- name: DEFAULT_CONVERT_TO_FLAC
|
||||
value: "true"
|
||||
- name: ENABLE_MUSICBRAINZ
|
||||
value: "true"
|
||||
- name: JELLYFIN_API_KEY
|
||||
value: 65e51490397749d6945c4561a53e012a
|
||||
- name: JELLYFIN_URL
|
||||
value: https://jellyfin.delmar.bzh
|
||||
- name: LISTEN_ADDR
|
||||
value: 0.0.0.0
|
||||
- name: LISTEN_PORT
|
||||
value: "8080"
|
||||
- name: MUSIC_DIR
|
||||
value: /music
|
||||
- name: NAVIDROME_PASS
|
||||
value: sandstorm-outcast-treat
|
||||
- name: NAVIDROME_URL
|
||||
value: http://navidrome:4533
|
||||
- name: NAVIDROME_USER
|
||||
value: admin
|
||||
- name: NOTIFY_ON
|
||||
value: playlists,bulk,errors
|
||||
- name: PGID
|
||||
value: "1000"
|
||||
- name: PUID
|
||||
value: "1000"
|
||||
- name: SMTP_HOST
|
||||
value: pro1.mail.ovh.net
|
||||
- name: SMTP_PASS
|
||||
value: sxS4GA8rBfmFkCFL
|
||||
- name: SMTP_PORT
|
||||
value: "587"
|
||||
- name: SMTP_TO
|
||||
value: jme69@delmar.bzh
|
||||
- name: SMTP_USER
|
||||
value: admin@delmar.bzh
|
||||
image: g33kphr33k/musicgrabber:latest
|
||||
name: music-grabber
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
protocol: TCP
|
||||
volumeMounts:
|
||||
- mountPath: /music
|
||||
name: music
|
||||
- mountPath: /data
|
||||
name: music-grabber
|
||||
restartPolicy: Always
|
||||
volumes:
|
||||
- name: music
|
||||
persistentVolumeClaim:
|
||||
claimName: music
|
||||
- name: music-grabber
|
||||
persistentVolumeClaim:
|
||||
claimName: music-grabber
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: music-grabber
|
||||
name: music-grabber
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,16 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||
labels:
|
||||
io.kompose.service: music-grabber
|
||||
name: music-grabber
|
||||
spec:
|
||||
ports:
|
||||
- name: "38274"
|
||||
port: 38274
|
||||
targetPort: 8080
|
||||
selector:
|
||||
io.kompose.service: music-grabber
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: music
|
||||
name: music
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: navidrome-claim0
|
||||
name: navidrome-claim0
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,51 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||
labels:
|
||||
io.kompose.service: navidrome
|
||||
name: navidrome
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: navidrome
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||
labels:
|
||||
io.kompose.service: navidrome
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: ND_LOGLEVEL
|
||||
value: debug
|
||||
image: deluan/navidrome:latest
|
||||
name: navidrome
|
||||
ports:
|
||||
- containerPort: 4533
|
||||
protocol: TCP
|
||||
securityContext:
|
||||
runAsGroup: 1000
|
||||
runAsUser: 1000
|
||||
volumeMounts:
|
||||
- mountPath: /data
|
||||
name: navidrome
|
||||
- mountPath: /music
|
||||
name: music
|
||||
readOnly: true
|
||||
restartPolicy: Always
|
||||
volumes:
|
||||
- name: navidrome
|
||||
persistentVolumeClaim:
|
||||
claimName: navidrome
|
||||
- name: music
|
||||
persistentVolumeClaim:
|
||||
claimName: music
|
||||
readOnly: true
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: navidrome
|
||||
name: navidrome
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,16 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||
labels:
|
||||
io.kompose.service: navidrome
|
||||
name: navidrome
|
||||
spec:
|
||||
ports:
|
||||
- name: "4533"
|
||||
port: 4533
|
||||
targetPort: 4533
|
||||
selector:
|
||||
io.kompose.service: navidrome
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: prowlarr
|
||||
name: prowlarr
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: qbittorent
|
||||
name: qbittorent
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,9 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
radarr-api: YmM2NWU3NDA4YzFhNDg4YmIwOGFhZDQ1ODA0MzU1MDkK
|
||||
kind: Secret
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: radarr-api
|
||||
name: radarr-api
|
||||
type: Opaque
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: radarr
|
||||
name: radarr
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: sabnzbd
|
||||
name: sabnzbd
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1 @@
|
||||
sandstorm-outcast-treat
|
||||
@@ -0,0 +1 @@
|
||||
admin
|
||||
@@ -0,0 +1 @@
|
||||
428ef8a4a2be42a4ba7054bed1920497
|
||||
@@ -0,0 +1 @@
|
||||
b3c344c5fb84442db3cab4abf09c5888
|
||||
@@ -0,0 +1 @@
|
||||
df1c727b1d6d4300859a6e725725f6d8
|
||||
@@ -0,0 +1 @@
|
||||
bc65e7408c1a488bb08aad4580435509
|
||||
@@ -0,0 +1 @@
|
||||
7c5cda4f4a03436eaf32fc08adbf5475
|
||||
@@ -0,0 +1 @@
|
||||
8e5651fab5d148d79da30ceb9d0e526d
|
||||
@@ -0,0 +1 @@
|
||||
2ARStJOsaO9LzNijZP+/HHd+72eY7uTW7i428Nt63E4=
|
||||
@@ -0,0 +1,51 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||
labels:
|
||||
io.kompose.service: seerr
|
||||
name: seerr
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: seerr
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||
labels:
|
||||
io.kompose.service: seerr
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: LOG_LEVEL
|
||||
value: debug
|
||||
- name: PORT
|
||||
value: "5055"
|
||||
image: ghcr.io/seerr-team/seerr:latest
|
||||
livenessProbe:
|
||||
exec:
|
||||
command:
|
||||
- wget --no-verbose --tries=1 --spider http://localhost:5055/api/v1/status || exit 1
|
||||
failureThreshold: 3
|
||||
initialDelaySeconds: 20
|
||||
periodSeconds: 15
|
||||
timeoutSeconds: 3
|
||||
name: seerr
|
||||
ports:
|
||||
- containerPort: 5055
|
||||
protocol: TCP
|
||||
volumeMounts:
|
||||
- mountPath: /app/config
|
||||
name: seerr
|
||||
restartPolicy: Always
|
||||
volumes:
|
||||
- name: seerr
|
||||
persistentVolumeClaim:
|
||||
claimName: seerr
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: seerr
|
||||
name: seerr
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,16 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||
labels:
|
||||
io.kompose.service: seerr
|
||||
name: seerr
|
||||
spec:
|
||||
ports:
|
||||
- name: "5055"
|
||||
port: 5055
|
||||
targetPort: 5055
|
||||
selector:
|
||||
io.kompose.service: seerr
|
||||
@@ -0,0 +1,9 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
sonarr-api: OGU1NjUxZmFiNWQxNDhkNzlkYTMwY2ViOWQwZTUyNmQK
|
||||
kind: Secret
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: sonarr-api
|
||||
name: sonarr-api
|
||||
type: Opaque
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: sonarr
|
||||
name: sonarr
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: tdarr-claim0
|
||||
name: tdarr-claim0
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: tdarr-claim1
|
||||
name: tdarr-claim1
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: tdarr-claim2
|
||||
name: tdarr-claim2
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: tdarr-claim4
|
||||
name: tdarr-claim4
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,113 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||
labels:
|
||||
io.kompose.service: tdarr
|
||||
name: tdarr
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: tdarr
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||
labels:
|
||||
io.kompose.service: tdarr
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: PGID
|
||||
value: "1002"
|
||||
- name: PUID
|
||||
value: "1002"
|
||||
- name: TZ
|
||||
value: Europe/Paris
|
||||
- name: UMASK_SET
|
||||
value: "002"
|
||||
- name: ffmpegVersion
|
||||
value: "6"
|
||||
- name: inContainer
|
||||
value: "true"
|
||||
- name: internalNode
|
||||
value: "true"
|
||||
- name: nodeName
|
||||
value: ServerNode
|
||||
- name: serverIP
|
||||
value: 0.0.0.0
|
||||
- name: serverPort
|
||||
value: "8266"
|
||||
- name: webUIPort
|
||||
value: "8265"
|
||||
image: ghcr.io/haveagitgat/tdarr:latest
|
||||
name: tdarr
|
||||
ports:
|
||||
- containerPort: 8265
|
||||
protocol: TCP
|
||||
- containerPort: 8266
|
||||
protocol: TCP
|
||||
securityContext:
|
||||
privileged: true
|
||||
volumeMounts:
|
||||
- mountPath: /app/configs
|
||||
name: tdarr
|
||||
- mountPath: /app/server
|
||||
name: tdarr-server
|
||||
- mountPath: /app/logs
|
||||
name: tdarr-logs
|
||||
- mountPath: /data/media
|
||||
name: media
|
||||
- mountPath: /temp
|
||||
name: transcode-cache
|
||||
- env:
|
||||
- name: PGID
|
||||
value: "1002"
|
||||
- name: PUID
|
||||
value: "1002"
|
||||
- name: TZ
|
||||
value: Europe/Paris
|
||||
- name: UMASK_SET
|
||||
value: "002"
|
||||
- name: inContainer
|
||||
value: "true"
|
||||
- name: nodeName
|
||||
value: MainNode
|
||||
- name: serverIP
|
||||
value: 0.0.0.0
|
||||
- name: serverPort
|
||||
value: "8266"
|
||||
image: ghcr.io/haveagitgat/tdarr_node:latest
|
||||
name: tdarr-node
|
||||
volumeMounts:
|
||||
- mountPath: /app/configs
|
||||
name: tdarr
|
||||
- mountPath: /app/logs
|
||||
name: tdarr-logs
|
||||
- mountPath: /data/media
|
||||
name: media
|
||||
- mountPath: /temp
|
||||
name: transcode-cache
|
||||
restartPolicy: Always
|
||||
volumes:
|
||||
- name: tdarr
|
||||
persistentVolumeClaim:
|
||||
claimName: tdarr
|
||||
- name: tdarr-server
|
||||
persistentVolumeClaim:
|
||||
claimName: tdarr-server
|
||||
- name: tdarr-logs
|
||||
persistentVolumeClaim:
|
||||
claimName: tdarr-logs
|
||||
- name: media
|
||||
persistentVolumeClaim:
|
||||
claimName: media
|
||||
- name: transcode-cache
|
||||
persistentVolumeClaim:
|
||||
claimName: transcode-cache
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: tdarr-logs
|
||||
name: tdarr-logs
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: tdarr-node-claim0
|
||||
name: tdarr-node-claim0
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: tdarr-node-claim1
|
||||
name: tdarr-node-claim1
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: tdarr-node-claim3
|
||||
name: tdarr-node-claim3
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: tdarr
|
||||
name: tdarr
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: tdarr-server
|
||||
name: tdarr-server
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,19 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||
labels:
|
||||
io.kompose.service: tdarr
|
||||
name: tdarr
|
||||
spec:
|
||||
ports:
|
||||
- name: "8265"
|
||||
port: 8265
|
||||
targetPort: 8265
|
||||
- name: "8266"
|
||||
port: 8266
|
||||
targetPort: 8266
|
||||
selector:
|
||||
io.kompose.service: tdarr
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: torrents
|
||||
name: torrents
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: transcode-cache
|
||||
name: transcode-cache
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: tv-shows
|
||||
name: tv-shows
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,48 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||
labels:
|
||||
io.kompose.service: unpackerr
|
||||
name: unpackerr
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: unpackerr
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||
labels:
|
||||
io.kompose.service: unpackerr
|
||||
spec:
|
||||
containers:
|
||||
- envFrom:
|
||||
- configMapRef:
|
||||
name: env-arr-env
|
||||
image: golift/unpackerr:latest
|
||||
name: unpackerr
|
||||
volumeMounts:
|
||||
- mountPath: /config
|
||||
name: unpackerr
|
||||
- mountPath: /data
|
||||
name: media
|
||||
- mountPath: /downloads
|
||||
name: downloads
|
||||
restartPolicy: Always
|
||||
volumes:
|
||||
- name: unpackerr
|
||||
persistentVolumeClaim:
|
||||
claimName: unpackerr
|
||||
- name: media
|
||||
persistentVolumeClaim:
|
||||
claimName: media
|
||||
- name: downloads
|
||||
persistentVolumeClaim:
|
||||
claimName: downloads
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: unpackerr
|
||||
name: unpackerr
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: usenet
|
||||
name: usenet
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: wireguard
|
||||
name: wireguard
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,9 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
wireguard-private-key: MkFSU3RKT3NhTzlMek5palpQKy9ISGQrNzJlWTd1VFc3aTQyOE50NjNFND0K
|
||||
kind: Secret
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: wireguard-private-key
|
||||
name: wireguard-private-key
|
||||
type: Opaque
|
||||
@@ -0,0 +1,38 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||
labels:
|
||||
io.kompose.service: wizarr
|
||||
name: wizarr
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: wizarr
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||
labels:
|
||||
io.kompose.service: wizarr
|
||||
spec:
|
||||
containers:
|
||||
- image: ghcr.io/wizarrrr/wizarr:latest
|
||||
name: wizarr
|
||||
ports:
|
||||
- containerPort: 5690
|
||||
protocol: TCP
|
||||
volumeMounts:
|
||||
- mountPath: /data/database
|
||||
name: wizarr
|
||||
restartPolicy: Always
|
||||
volumes:
|
||||
- name: wizarr
|
||||
persistentVolumeClaim:
|
||||
claimName: wizarr
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: wizarr
|
||||
name: wizarr
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,16 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||
labels:
|
||||
io.kompose.service: wizarr
|
||||
name: wizarr
|
||||
spec:
|
||||
ports:
|
||||
- name: "5690"
|
||||
port: 5690
|
||||
targetPort: 5690
|
||||
selector:
|
||||
io.kompose.service: wizarr
|
||||
Reference in New Issue
Block a user