From 3308ffec42e35a8ca0e862cc23a8a72dbbace5dd Mon Sep 17 00:00:00 2001 From: "Mohamed C." Date: Thu, 12 Feb 2026 14:07:22 +0100 Subject: [PATCH] initial upload --- README.md | 2 +- authentik/authentik-cache.container | 16 ++++++++ authentik/authentik-cache.volume | 2 + authentik/authentik-certs.volume | 2 + authentik/authentik-database.container | 18 +++++++++ authentik/authentik-database.volume | 2 + authentik/authentik-ldap.container | 17 ++++++++ authentik/authentik-media.volume | 2 + authentik/authentik-server.container | 33 +++++++++++++++ authentik/authentik-templates.volume | 2 + authentik/authentik-worker.container | 23 +++++++++++ authentik/authentik.network | 3 ++ authentik/authentik.pod | 13 ++++++ gitea/gitea-config.volume | 2 + gitea/gitea-data.volume | 2 + gitea/gitea.container | 17 ++++++++ gitea/gitea.network | 3 ++ gitea/gitea.pod | 9 +++++ homeassistant/homeassistant-config.volume | 2 + .../homeassistant-mosquitto-config.volume | 2 + .../homeassistant-mosquitto-data.volume | 2 + .../homeassistant-mosquitto-log.volume | 2 + .../homeassistant-mosquitto.container | 18 +++++++++ .../homeassistant-z2mqtt-data.volume | 2 + homeassistant/homeassistant-z2mqtt.container | 19 +++++++++ homeassistant/homeassistant.container | 17 ++++++++ homeassistant/homeassistant.pod | 9 +++++ homeassistant/musicassistant-data.volume | 2 + homeassistant/musicassistant-token.container | 16 ++++++++ homeassistant/musicassistant.container | 17 ++++++++ immich/immich-config.volume | 2 + immich/immich-database.container | 20 ++++++++++ immich/immich-database.volume | 2 + immich/immich-photos.volume | 2 + immich/immich-redis.container | 15 +++++++ immich/immich-server.container | 29 ++++++++++++++ immich/immich.network | 3 ++ immich/immich.pod | 10 +++++ manga/flaresolverr.container | 15 +++++++ manga/komga-config.volume | 2 + manga/komga-data.volume | 2 + manga/komga-temp.volume | 2 + manga/komga.container | 20 ++++++++++ manga/manga.network | 3 ++ manga/manga.pod | 13 ++++++ manga/suwayomi-config.volume | 2 + manga/suwayomi.container | 20 ++++++++++ media/bazarr-config.volume | 2 + media/bazarr.container | 19 +++++++++ media/emby-config.volume | 2 + media/emby.container | 19 +++++++++ media/ersatztv-config.volume | 2 + media/ersatztv.container | 19 +++++++++ media/media.network | 3 ++ media/media.pod | 21 ++++++++++ media/profilarr-config.volume | 2 + media/profilarr.container | 18 +++++++++ media/radarr-config.volume | 2 + media/radarr.container | 19 +++++++++ media/sabnzbd-config.volume | 2 + media/sabnzbd.container | 19 +++++++++ media/seerr-config.volume | 2 + media/seerr.container | 17 ++++++++ media/sonarr-config.volume | 2 + media/sonarr.container | 19 +++++++++ media/tdarr-cache.volume | 2 + media/tdarr-config.volume | 2 + media/tdarr-data.volume | 2 + media/tdarr-logs.volume | 2 + media/tdarr.container | 40 +++++++++++++++++++ media/tdarr.network | 3 ++ semaphore/semaphore-config.volume | 2 + semaphore/semaphore.container | 20 ++++++++++ semaphore/semaphore.network | 3 ++ semaphore/semaphore.pod | 12 ++++++ 75 files changed, 714 insertions(+), 1 deletion(-) create mode 100644 authentik/authentik-cache.container create mode 100644 authentik/authentik-cache.volume create mode 100644 authentik/authentik-certs.volume create mode 100644 authentik/authentik-database.container create mode 100644 authentik/authentik-database.volume create mode 100644 authentik/authentik-ldap.container create mode 100644 authentik/authentik-media.volume create mode 100644 authentik/authentik-server.container create mode 100644 authentik/authentik-templates.volume create mode 100644 authentik/authentik-worker.container create mode 100644 authentik/authentik.network create mode 100644 authentik/authentik.pod create mode 100644 gitea/gitea-config.volume create mode 100644 gitea/gitea-data.volume create mode 100644 gitea/gitea.container create mode 100644 gitea/gitea.network create mode 100644 gitea/gitea.pod create mode 100644 homeassistant/homeassistant-config.volume create mode 100644 homeassistant/homeassistant-mosquitto-config.volume create mode 100644 homeassistant/homeassistant-mosquitto-data.volume create mode 100644 homeassistant/homeassistant-mosquitto-log.volume create mode 100644 homeassistant/homeassistant-mosquitto.container create mode 100644 homeassistant/homeassistant-z2mqtt-data.volume create mode 100644 homeassistant/homeassistant-z2mqtt.container create mode 100644 homeassistant/homeassistant.container create mode 100644 homeassistant/homeassistant.pod create mode 100644 homeassistant/musicassistant-data.volume create mode 100644 homeassistant/musicassistant-token.container create mode 100644 homeassistant/musicassistant.container create mode 100644 immich/immich-config.volume create mode 100644 immich/immich-database.container create mode 100644 immich/immich-database.volume create mode 100644 immich/immich-photos.volume create mode 100644 immich/immich-redis.container create mode 100644 immich/immich-server.container create mode 100644 immich/immich.network create mode 100644 immich/immich.pod create mode 100644 manga/flaresolverr.container create mode 100644 manga/komga-config.volume create mode 100644 manga/komga-data.volume create mode 100644 manga/komga-temp.volume create mode 100644 manga/komga.container create mode 100644 manga/manga.network create mode 100644 manga/manga.pod create mode 100644 manga/suwayomi-config.volume create mode 100644 manga/suwayomi.container create mode 100644 media/bazarr-config.volume create mode 100644 media/bazarr.container create mode 100644 media/emby-config.volume create mode 100644 media/emby.container create mode 100644 media/ersatztv-config.volume create mode 100644 media/ersatztv.container create mode 100644 media/media.network create mode 100644 media/media.pod create mode 100644 media/profilarr-config.volume create mode 100644 media/profilarr.container create mode 100644 media/radarr-config.volume create mode 100644 media/radarr.container create mode 100644 media/sabnzbd-config.volume create mode 100644 media/sabnzbd.container create mode 100644 media/seerr-config.volume create mode 100644 media/seerr.container create mode 100644 media/sonarr-config.volume create mode 100644 media/sonarr.container create mode 100644 media/tdarr-cache.volume create mode 100644 media/tdarr-config.volume create mode 100644 media/tdarr-data.volume create mode 100644 media/tdarr-logs.volume create mode 100644 media/tdarr.container create mode 100644 media/tdarr.network create mode 100644 semaphore/semaphore-config.volume create mode 100644 semaphore/semaphore.container create mode 100644 semaphore/semaphore.network create mode 100644 semaphore/semaphore.pod diff --git a/README.md b/README.md index 53f497b..4980464 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,2 @@ -# quadlets +# Podman-Systemd-Units diff --git a/authentik/authentik-cache.container b/authentik/authentik-cache.container new file mode 100644 index 0000000..b83db62 --- /dev/null +++ b/authentik/authentik-cache.container @@ -0,0 +1,16 @@ +[Unit] +Description=Authentik Redis Cache + +[Container] +AutoUpdate=registry +ContainerName=authentik-cache +Exec=--save 60 1 --loglevel warning +Image=docker.io/library/redis:alpine +Pod=authentik.pod +Volume=authentik-cache.volume:/data + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/authentik/authentik-cache.volume b/authentik/authentik-cache.volume new file mode 100644 index 0000000..cbe6a2e --- /dev/null +++ b/authentik/authentik-cache.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=authentik-cache diff --git a/authentik/authentik-certs.volume b/authentik/authentik-certs.volume new file mode 100644 index 0000000..99855f4 --- /dev/null +++ b/authentik/authentik-certs.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=authentik-certs diff --git a/authentik/authentik-database.container b/authentik/authentik-database.container new file mode 100644 index 0000000..90f7bd5 --- /dev/null +++ b/authentik/authentik-database.container @@ -0,0 +1,18 @@ +[Unit] +Description=Authentik Database + +[Container] +AutoUpdate=registry +ContainerName=authentik-database +Environment=POSTGRES_DB=authentik +Environment=POSTGRES_USER=authentik +Image=docker.io/library/postgres:16-alpine +Pod=authentik.pod +Secret=authentik-database-password,type=env,target=POSTGRES_PASSWORD +Volume=authentik-database.volume:/var/lib/postgresql/data + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/authentik/authentik-database.volume b/authentik/authentik-database.volume new file mode 100644 index 0000000..79d46f1 --- /dev/null +++ b/authentik/authentik-database.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=authentik-database diff --git a/authentik/authentik-ldap.container b/authentik/authentik-ldap.container new file mode 100644 index 0000000..723270e --- /dev/null +++ b/authentik/authentik-ldap.container @@ -0,0 +1,17 @@ +[Unit] +Description=Authentik LDAP Provider + +[Container] +AutoUpdate=registry +ContainerName=authentik-ldap +Environment=AUTHENTIK_HOST=http://authentik-server:9000 +Environment=AUTHENTIK_INSECURE=true +Image=ghcr.io/goauthentik/ldap:2025.8 +Pod=authentik.pod +Secret=authentik-ldap-token,type=env,target=AUTHENTIK_TOKEN + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/authentik/authentik-media.volume b/authentik/authentik-media.volume new file mode 100644 index 0000000..53b0f95 --- /dev/null +++ b/authentik/authentik-media.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=authentik-media diff --git a/authentik/authentik-server.container b/authentik/authentik-server.container new file mode 100644 index 0000000..ae4b8da --- /dev/null +++ b/authentik/authentik-server.container @@ -0,0 +1,33 @@ +[Unit] +Description=Authentik Server + +[Container] +AutoUpdate=registry +ContainerName=authentik-server +Environment=AUTHENTIK_REDIS__HOST=localhost +Environment=AUTHENTIK_POSTGRESQL__HOST=localhost +Environment=AUTHENTIK_POSTGRESQL__USER=authentik +Environment=AUTHENTIK_POSTGRESQL__NAME=authentik +Environment=AUTHENTIK_BOOTSTRAP_LDAPSERVICE_USERNAME=ldapservice +Environment=AUTHENTIK_BOOTSTRAP_LDAP_BASEDN=DC=chrayed,DC=de +Environment=AUTHENTIK_BOOTSTRAP_LDAPSERVICE_USERNAME=ldapservice +Environment=AUTHENTIK_EMAIL__HOST=smtp.purelymail.com +Environment=AUTHENTIK_EMAIL__PORT=465 +Environment=AUTHENTIK_EMAIL__USERNAME=mohamed@chrayed.de +Environment=AUTHENTIK_EMAIL__USE_TLS=true +Environment=AUTHENTIK_EMAIL__FROM=mohamed@chrayed.de +Exec=server +Image=ghcr.io/goauthentik/server:2025.8 +Pod=authentik.pod +Secret=authentik-database-password,type=env,target=AUTHENTIK_POSTGRESQL__PASSWORD +Secret=authentik-secret-key,type=env,target=AUTHENTIK_SECRET_KEY +Secret=authentik-ldap-password,type=env,target=AUTHENTIK_BOOTSTRAP_LDAPSERVICE_PASSWORD +Secret=mail-password,type=env,target=AUTHENTIK_EMAIL__PASSWORD +Volume=authentik-media.volume:/media +Volume=authentik-templates.volume:/templates + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/authentik/authentik-templates.volume b/authentik/authentik-templates.volume new file mode 100644 index 0000000..40a6802 --- /dev/null +++ b/authentik/authentik-templates.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=authentik-templates diff --git a/authentik/authentik-worker.container b/authentik/authentik-worker.container new file mode 100644 index 0000000..051e17b --- /dev/null +++ b/authentik/authentik-worker.container @@ -0,0 +1,23 @@ +[Unit] +Description=Authentik Worker + +[Container] +ContainerName=authentik-worker +AutoUpdate=registry +Image=ghcr.io/goauthentik/server:2025.8 +Pod=authentik.pod +Exec=worker +Volume=authentik-certs.volume:/certs +Volume=authentik-media.volume:/media +Volume=authentik-templates.volume:/templates +Environment=AUTHENTIK_REDIS__HOST=localhost +Environment=AUTHENTIK_POSTGRESQL__HOST=localhost +Environment=AUTHENTIK_POSTGRESQL__USER=authentik +Environment=AUTHENTIK_POSTGRESQL__NAME=authentik +Secret=authentik-database-password,type=env,target=AUTHENTIK_POSTGRESQL__PASSWORD +Secret=authentik-secret-key,type=env,target=AUTHENTIK_SECRET_KEY + +[Service] +Restart=always +[Install] +WantedBy=default.target diff --git a/authentik/authentik.network b/authentik/authentik.network new file mode 100644 index 0000000..b463cef --- /dev/null +++ b/authentik/authentik.network @@ -0,0 +1,3 @@ +[Network] +Driver=bridge +NetworkName=authentik diff --git a/authentik/authentik.pod b/authentik/authentik.pod new file mode 100644 index 0000000..310672d --- /dev/null +++ b/authentik/authentik.pod @@ -0,0 +1,13 @@ +[Unit] +Description=Authentik Pod + +[Pod] +PodName=authentik +Network=authentik.network +PublishPort=9000:9000 +PublishPort=3389:3389 +PublishPort=6636:6636 + + +[Install] +WantedBy=default.target diff --git a/gitea/gitea-config.volume b/gitea/gitea-config.volume new file mode 100644 index 0000000..bca0f68 --- /dev/null +++ b/gitea/gitea-config.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=gitea-config diff --git a/gitea/gitea-data.volume b/gitea/gitea-data.volume new file mode 100644 index 0000000..673e54f --- /dev/null +++ b/gitea/gitea-data.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=gitea-data diff --git a/gitea/gitea.container b/gitea/gitea.container new file mode 100644 index 0000000..849f3f7 --- /dev/null +++ b/gitea/gitea.container @@ -0,0 +1,17 @@ +[Unit] +Description=Gitea + +[Container] +AutoUpdate=registry +ContainerName=gitea +Environment=TZ=Europe/Berlin +Image=docker.gitea.com/gitea:1.25.4-rootless +Pod=gitea.pod +Volume=gitea-config.volume:/var/lib/gitea +Volume=gitea-data.volume:/etc/gitea + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/gitea/gitea.network b/gitea/gitea.network new file mode 100644 index 0000000..143baec --- /dev/null +++ b/gitea/gitea.network @@ -0,0 +1,3 @@ +[Network] +Driver=bridge +NetworkName=gitea diff --git a/gitea/gitea.pod b/gitea/gitea.pod new file mode 100644 index 0000000..6db4bd5 --- /dev/null +++ b/gitea/gitea.pod @@ -0,0 +1,9 @@ +[Unit] +Description=Gitea Pod +[Pod] +PodName=gitea +Network=gitea.network +PublishPort=3001:3000 +PublishPort=2222:2222 +[Install] +WantedBy=default.target diff --git a/homeassistant/homeassistant-config.volume b/homeassistant/homeassistant-config.volume new file mode 100644 index 0000000..243c386 --- /dev/null +++ b/homeassistant/homeassistant-config.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=homeassistant-config diff --git a/homeassistant/homeassistant-mosquitto-config.volume b/homeassistant/homeassistant-mosquitto-config.volume new file mode 100644 index 0000000..7b6617c --- /dev/null +++ b/homeassistant/homeassistant-mosquitto-config.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=homeassistant-mosquitto-config diff --git a/homeassistant/homeassistant-mosquitto-data.volume b/homeassistant/homeassistant-mosquitto-data.volume new file mode 100644 index 0000000..7c13383 --- /dev/null +++ b/homeassistant/homeassistant-mosquitto-data.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=homeassistant-mosquitto-data diff --git a/homeassistant/homeassistant-mosquitto-log.volume b/homeassistant/homeassistant-mosquitto-log.volume new file mode 100644 index 0000000..720e06c --- /dev/null +++ b/homeassistant/homeassistant-mosquitto-log.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=homeassistant-mosquitto-log diff --git a/homeassistant/homeassistant-mosquitto.container b/homeassistant/homeassistant-mosquitto.container new file mode 100644 index 0000000..956a5a7 --- /dev/null +++ b/homeassistant/homeassistant-mosquitto.container @@ -0,0 +1,18 @@ +[Unit] +Description=Mosquitto MQTT Broker + +[Container] +AutoUpdate=registry +ContainerName=homeassistant-mosquitto +Environment=TZ=Europe/Berlin +Image=docker.io/eclipse-mosquitto:latest +Pod=homeassistant.pod +Volume=homeassistant-mosquitto-data.volume:/mosquitto/data +Volume=homeassistant-mosquitto-config.volume:/mosquitto/config +Volume=homeassistant-mosquitto-log.volume:/mosquitto/log + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/homeassistant/homeassistant-z2mqtt-data.volume b/homeassistant/homeassistant-z2mqtt-data.volume new file mode 100644 index 0000000..9e776fa --- /dev/null +++ b/homeassistant/homeassistant-z2mqtt-data.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=homeassistant-z2mqtt-data diff --git a/homeassistant/homeassistant-z2mqtt.container b/homeassistant/homeassistant-z2mqtt.container new file mode 100644 index 0000000..be52ae1 --- /dev/null +++ b/homeassistant/homeassistant-z2mqtt.container @@ -0,0 +1,19 @@ +[Unit] +Description=ZigBee2MQTT + +[Container] +AddDevice=/dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_489bdfc0246bef1191079fadc169b110-if00-port0:/dev/ttyUSB0 +AutoUpdate=registry +ContainerName=homeassistant-z2mqtt +Environment=TZ=Europe/Berlin +GroupAdd=keep-groups +Image=ghcr.io/koenkk/zigbee2mqtt +Pod=homeassistant.pod +Volume=/run/udev:/run/udev:ro +Volume=homeassistant-z2mqtt-data:/app/data + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/homeassistant/homeassistant.container b/homeassistant/homeassistant.container new file mode 100644 index 0000000..d4a0a4c --- /dev/null +++ b/homeassistant/homeassistant.container @@ -0,0 +1,17 @@ +[Unit] +Description=Home Assistant + +[Container] +AutoUpdate=registry +ContainerName=homeassistant +Environment=TZ=Europe/Berlin +GroupAdd=keep-groups +Image=ghcr.io/home-assistant/home-assistant:stable +Pod=homeassistant.pod +Volume=homeassistant-config.volume:/config + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/homeassistant/homeassistant.pod b/homeassistant/homeassistant.pod new file mode 100644 index 0000000..b7ac97e --- /dev/null +++ b/homeassistant/homeassistant.pod @@ -0,0 +1,9 @@ +[Unit] +Description=Home Assistant Pod + +[Pod] +PodName=homeassistant +Network=host + +[Install] +WantedBy=default.target diff --git a/homeassistant/musicassistant-data.volume b/homeassistant/musicassistant-data.volume new file mode 100644 index 0000000..702ab62 --- /dev/null +++ b/homeassistant/musicassistant-data.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=musicassistant-data diff --git a/homeassistant/musicassistant-token.container b/homeassistant/musicassistant-token.container new file mode 100644 index 0000000..9878bb1 --- /dev/null +++ b/homeassistant/musicassistant-token.container @@ -0,0 +1,16 @@ +[Unit] +Description=Music Assistant PO Token Generator + +[Container] +AutoUpdate=registry +ContainerName=musicassistant-token +Environment=TZ=Europe/Berlin +GroupAdd=keep-groups +Image=docker.io/brainicism/bgutil-ytdlp-pot-provider:latest +Pod=homeassistant.pod + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/homeassistant/musicassistant.container b/homeassistant/musicassistant.container new file mode 100644 index 0000000..c87e238 --- /dev/null +++ b/homeassistant/musicassistant.container @@ -0,0 +1,17 @@ +[Unit] +Description=Home Assistant + +[Container] +AutoUpdate=registry +ContainerName=musicassistant +Environment=TZ=Europe/Berlin +GroupAdd=keep-groups +Image=ghcr.io/music-assistant/server:latest +Pod=homeassistant.pod +Volume=musicassistant-data.volume:/data + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/immich/immich-config.volume b/immich/immich-config.volume new file mode 100644 index 0000000..7adca7e --- /dev/null +++ b/immich/immich-config.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=immich-config diff --git a/immich/immich-database.container b/immich/immich-database.container new file mode 100644 index 0000000..f086e9b --- /dev/null +++ b/immich/immich-database.container @@ -0,0 +1,20 @@ +[Unit] +Description=Immich Database + +[Container] +ContainerName=immich-database +AutoUpdate=registry +Environment=TZ=Europe/Berlin +Environment=POSTGRES_INITDB_ARGS='--data-checksums' +Environment=POSTGRES_DB=immich +Environment=POSTGRES_USER=immich +Secret=immich-database-password,type=env,target=POSTGRES_PASSWORD +Image=ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0 +Pod=immich.pod +Volume=immich-database:/var/lib/postgresql/data + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/immich/immich-database.volume b/immich/immich-database.volume new file mode 100644 index 0000000..3c54469 --- /dev/null +++ b/immich/immich-database.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=immich-data diff --git a/immich/immich-photos.volume b/immich/immich-photos.volume new file mode 100644 index 0000000..ea1e505 --- /dev/null +++ b/immich/immich-photos.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=immich-photos diff --git a/immich/immich-redis.container b/immich/immich-redis.container new file mode 100644 index 0000000..9a9a389 --- /dev/null +++ b/immich/immich-redis.container @@ -0,0 +1,15 @@ +[Unit] +Description=Immich Redis + +[Container] +ContainerName=immich-redis +AutoUpdate=registry +Environment=TZ=Europe/Berlin +Image=docker.io/valkey/valkey:8-bookworm +Pod=immich.pod + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/immich/immich-server.container b/immich/immich-server.container new file mode 100644 index 0000000..b51b10c --- /dev/null +++ b/immich/immich-server.container @@ -0,0 +1,29 @@ +[Unit] +Description=Immich App + +[Container] +ContainerName=immich-server +AutoUpdate=registry +GroupAdd=keep-groups +AddDevice=/dev/dri:/dev/dri:rw +Environment=TZ=Europe/Berlin +Environment=SERVER_HOST=0.0.0.0 +Environment=SERVER_PORT=8080 +Environment=MACHINE_LEARNING_HOST=0.0.0.0 +Environment=PUID=1000 +Environment=PGID=1000 +Environment=REDIS_HOSTNAME=immich-redis +Environment=DB_HOSTNAME=immich-database +Environment=DB_USERNAME=immich +Environment=DB_DATABASE_NAME=immich +Secret=immich-database-password,type=env,target=DB_PASSWORD +Image=ghcr.io/imagegenius/immich:openvino +Pod=immich.pod +Volume=immich-data:/data +Volume=immich-photos:/photos + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/immich/immich.network b/immich/immich.network new file mode 100644 index 0000000..f81e227 --- /dev/null +++ b/immich/immich.network @@ -0,0 +1,3 @@ +[Network] +Driver=bridge +NetworkName=immich diff --git a/immich/immich.pod b/immich/immich.pod new file mode 100644 index 0000000..857bbd6 --- /dev/null +++ b/immich/immich.pod @@ -0,0 +1,10 @@ +[Unit] +Description=Immich Pod + +[Pod] +PodName=immich +Network=immich.network +PublishPort=8129:8080 + +[Install] +WantedBy=default.target diff --git a/manga/flaresolverr.container b/manga/flaresolverr.container new file mode 100644 index 0000000..134ea79 --- /dev/null +++ b/manga/flaresolverr.container @@ -0,0 +1,15 @@ +[Unit] +Description=Flaresolverr + +[Container] +ContainerName=flaresolverr +AutoUpdate=registry +Environment=TZ=Europe/Berlin +Image=ghcr.io/thephaseless/byparr:latest +Pod=manga.pod + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/manga/komga-config.volume b/manga/komga-config.volume new file mode 100644 index 0000000..dc3ff1e --- /dev/null +++ b/manga/komga-config.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=komga-config diff --git a/manga/komga-data.volume b/manga/komga-data.volume new file mode 100644 index 0000000..6084f60 --- /dev/null +++ b/manga/komga-data.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=komga-data diff --git a/manga/komga-temp.volume b/manga/komga-temp.volume new file mode 100644 index 0000000..8b450ea --- /dev/null +++ b/manga/komga-temp.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=komga-temp diff --git a/manga/komga.container b/manga/komga.container new file mode 100644 index 0000000..9615311 --- /dev/null +++ b/manga/komga.container @@ -0,0 +1,20 @@ +[Unit] +Description=Komga + +[Container] +ContainerName=komga +AutoUpdate=registry +Environment=TZ=Europe/Berlin +Image=docker.io/gotson/komga:latest +Pod=manga.pod +User=1001 +Volume=/var/home/administrator/data/arr-suite/medien/manga:/manga:z +Volume=komga-config.volume:/config +Volume=komga-data.volume:/data +Volume=komga-temp.volume:/tmp + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/manga/manga.network b/manga/manga.network new file mode 100644 index 0000000..da5794f --- /dev/null +++ b/manga/manga.network @@ -0,0 +1,3 @@ +[Network] +Driver=bridge +NetworkName=manga diff --git a/manga/manga.pod b/manga/manga.pod new file mode 100644 index 0000000..43a6e24 --- /dev/null +++ b/manga/manga.pod @@ -0,0 +1,13 @@ +[Unit] +Description=Manga Pod + +[Pod] +PodName=manga +Network=manga.network +PublishPort=25600:25600 +PublishPort=8191:8191 +PublishPort=4567:4567 + +[Install] +WantedBy=default.target + diff --git a/manga/suwayomi-config.volume b/manga/suwayomi-config.volume new file mode 100644 index 0000000..6cbc2a0 --- /dev/null +++ b/manga/suwayomi-config.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=suwayomi-config diff --git a/manga/suwayomi.container b/manga/suwayomi.container new file mode 100644 index 0000000..c0761ef --- /dev/null +++ b/manga/suwayomi.container @@ -0,0 +1,20 @@ +[Unit] +Description=Suwayomi + +[Container] +ContainerName=suwayomi +AutoUpdate=registry +Environment=TZ=Europe/Berlin +Environment=FLARESOLVERR_ENABLED=true +Environment=FLARESOLVERR_URL=http://flaresolverr:8191 +Image=ghcr.io/suwayomi/suwayomi-server:latest +User=1001 +Pod=manga.pod +Volume=suwayomi-config:/home/suwayomi/.local/share/Tachidesk +Volume=/var/home/administrator/data/arr-suite/medien/manga:/home/suwayomi/Downloads/mangas:z + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/media/bazarr-config.volume b/media/bazarr-config.volume new file mode 100644 index 0000000..72b2b4c --- /dev/null +++ b/media/bazarr-config.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=bazarr-config diff --git a/media/bazarr.container b/media/bazarr.container new file mode 100644 index 0000000..e2aa1ec --- /dev/null +++ b/media/bazarr.container @@ -0,0 +1,19 @@ +[Unit] +Description=Bazarr Subtitle Downloader + +[Container] +AutoUpdate=registry +ContainerName=bazarr +Environment=TZ=Europe/Berlin +Environment=PUID=0 +Environment=PGID=0 +Image=lscr.io/linuxserver/bazarr:latest +Pod=media.pod +Volume=bazarr-config.volume:/config +Volume=/var/home/administrator/data/arr-suite:/arr-suite:z + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/media/emby-config.volume b/media/emby-config.volume new file mode 100644 index 0000000..fee0c0c --- /dev/null +++ b/media/emby-config.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=emby-config diff --git a/media/emby.container b/media/emby.container new file mode 100644 index 0000000..874a3a8 --- /dev/null +++ b/media/emby.container @@ -0,0 +1,19 @@ +[Unit] +Description=Emby Media Server + +[Container] +AddDevice=/dev/dri:/dev/dri:rw +AutoUpdate=registry +ContainerName=emby +Environment=TZ=Europe/Berlin +GroupAdd=keep-groups +Image=lscr.io/linuxserver/emby:beta +Pod=media.pod +Volume=emby-config.volume:/config +Volume=/var/home/administrator/data/arr-suite:/arr-suite:z + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/media/ersatztv-config.volume b/media/ersatztv-config.volume new file mode 100644 index 0000000..f009ba7 --- /dev/null +++ b/media/ersatztv-config.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=ersatztv-config diff --git a/media/ersatztv.container b/media/ersatztv.container new file mode 100644 index 0000000..217d8bc --- /dev/null +++ b/media/ersatztv.container @@ -0,0 +1,19 @@ +[Unit] +Description=Ersatztv + +[Container] +AddDevice=/dev/dri:/dev/dri:rw +AutoUpdate=registry +ContainerName=ersatztv +Environment=TZ=Europe/Berlin +GroupAdd=keep-groups +Image=ghcr.io/ersatztv/ersatztv:latest +Pod=media.pod +Volume=ersatztv-config.volume:/config +Volume=/var/home/administrator/data/arr-suite:/arr-suite:z + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/media/media.network b/media/media.network new file mode 100644 index 0000000..5e6968a --- /dev/null +++ b/media/media.network @@ -0,0 +1,3 @@ +[Network] +Driver=bridge +NetworkName=media diff --git a/media/media.pod b/media/media.pod new file mode 100644 index 0000000..bd1fde2 --- /dev/null +++ b/media/media.pod @@ -0,0 +1,21 @@ +[Unit] +Description=Media Pod + +[Pod] +PodName=media +Network=media.network +PublishPort=6767:6767 +PublishPort=6595:6595 +PublishPort=8096:8096 +PublishPort=8097:8097 +PublishPort=5055:5055 +PublishPort=7878:7878 +PublishPort=8088:8080 +PublishPort=8989:8989 +PublishPort=8266:8266 +PublishPort=8265:8265 +PublishPort=6868:6868 +PublishPort=8409:8409 + +[Install] +WantedBy=default.target diff --git a/media/profilarr-config.volume b/media/profilarr-config.volume new file mode 100644 index 0000000..648f9f7 --- /dev/null +++ b/media/profilarr-config.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=profilarr-config diff --git a/media/profilarr.container b/media/profilarr.container new file mode 100644 index 0000000..e079e28 --- /dev/null +++ b/media/profilarr.container @@ -0,0 +1,18 @@ +[Unit] +Description=Profilarr + +[Container] +AutoUpdate=registry +ContainerName=profilarr +Environment=TZ=Europe/Berlin +Image=docker.io/santiagosayshey/profilarr:latest +Pod=media.pod +Volume=profilarr-config.volume:/config + +[Service] +Restart=always + +[Install] +WantedBy=default.target + + diff --git a/media/radarr-config.volume b/media/radarr-config.volume new file mode 100644 index 0000000..bac3811 --- /dev/null +++ b/media/radarr-config.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=radarr-config diff --git a/media/radarr.container b/media/radarr.container new file mode 100644 index 0000000..6486c85 --- /dev/null +++ b/media/radarr.container @@ -0,0 +1,19 @@ +[Unit] +Description=Radarr Movie Downloader + +[Container] +AutoUpdate=registry +ContainerName=radarr +Environment=TZ=Europe/Berlin +Environment=PUID=0 +Environment=PGID=0 +Image=lscr.io/linuxserver/radarr:latest +Pod=media.pod +Volume=radarr-config.volume:/config +Volume=/var/home/administrator/data/arr-suite:/arr-suite:z + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/media/sabnzbd-config.volume b/media/sabnzbd-config.volume new file mode 100644 index 0000000..55829b7 --- /dev/null +++ b/media/sabnzbd-config.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=sabnzbd-config diff --git a/media/sabnzbd.container b/media/sabnzbd.container new file mode 100644 index 0000000..b8c0bab --- /dev/null +++ b/media/sabnzbd.container @@ -0,0 +1,19 @@ +[Unit] +Description=Sabnzbd Downloader + +[Container] +AutoUpdate=registry +ContainerName=sabnzbd +Environment=TZ=Europe/Berlin +Environment=PUID=0 +Environment=PGID=0 +Image=lscr.io/linuxserver/sabnzbd:latest +Pod=media.pod +Volume=sabnzbd-config.volume:/config +Volume=/var/home/administrator/data/arr-suite:/arr-suite:z + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/media/seerr-config.volume b/media/seerr-config.volume new file mode 100644 index 0000000..ad7ed63 --- /dev/null +++ b/media/seerr-config.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=seerr-config diff --git a/media/seerr.container b/media/seerr.container new file mode 100644 index 0000000..158be9d --- /dev/null +++ b/media/seerr.container @@ -0,0 +1,17 @@ +[Unit] +Description=Jellyseerr Request Manager + +[Container] +AutoUpdate=registry +ContainerName=seerr +Environment=TZ=Europe/Berlin +Image=ghcr.io/seerr-team/seerr:sha-f91a26b +Pod=media.pod +Volume=seerr-config.volume:/app/config +Volume=/var/home/administrator/data/arr-suite:/arr-suite:z + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/media/sonarr-config.volume b/media/sonarr-config.volume new file mode 100644 index 0000000..7893890 --- /dev/null +++ b/media/sonarr-config.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=sonarr-config diff --git a/media/sonarr.container b/media/sonarr.container new file mode 100644 index 0000000..02def73 --- /dev/null +++ b/media/sonarr.container @@ -0,0 +1,19 @@ +[Unit] +Description=Sonarr TV Downloader + +[Container] +AutoUpdate=registry +ContainerName=sonarr +Environment=TZ=Europe/Berlin +Environment=PUID=0 +Environment=PGID=0 +Image=lscr.io/linuxserver/sonarr:latest +Pod=media.pod +Volume=sonarr-config.volume:/config +Volume=/var/home/administrator/data/arr-suite:/arr-suite:z + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/media/tdarr-cache.volume b/media/tdarr-cache.volume new file mode 100644 index 0000000..d452e1d --- /dev/null +++ b/media/tdarr-cache.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=tdarr-cache diff --git a/media/tdarr-config.volume b/media/tdarr-config.volume new file mode 100644 index 0000000..55aad2c --- /dev/null +++ b/media/tdarr-config.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=tdarr-config diff --git a/media/tdarr-data.volume b/media/tdarr-data.volume new file mode 100644 index 0000000..9d371c0 --- /dev/null +++ b/media/tdarr-data.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=tdarr-data diff --git a/media/tdarr-logs.volume b/media/tdarr-logs.volume new file mode 100644 index 0000000..d1bd779 --- /dev/null +++ b/media/tdarr-logs.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=tdarr-logs diff --git a/media/tdarr.container b/media/tdarr.container new file mode 100644 index 0000000..7a0d0f3 --- /dev/null +++ b/media/tdarr.container @@ -0,0 +1,40 @@ +[Unit] +Description=Tdarr + +[Container] +AddDevice=/dev/dri:/dev/dri:rw +ContainerName=tdarr +AutoUpdate=registry +Environment=TZ=Europe/Berlin +Environment=PUID=0 +Environment=PGID=0 +#Environment=UMASK_SET=002 +Environment=serverIP=0.0.0.0 +Environment=serverPort=8266 +Environment=webUIPort=8265 +Environment=internalNode=true +Environment=inContainer=true +Environment=ffmpegVersion=7 +Environment=nodeName=InterneNode +Environment=auth=false +Environment=openBrowser=true +Environment=maxLogSizeMB=10 +Environment=cronPluginUpdate= +Image=ghcr.io/haveagitgat/tdarr:latest +#UIDMap=1001:1001 +#GIDMap=1001:1001 +GroupAdd=keep-groups +Pod=media.pod +Volume=tdarr-cache:/temp +Volume=tdarr-data:/app/server +Volume=tdarr-config:/app/configs +Volume=tdarr-logs:/app/logs +Volume=/var/home/administrator/data/arr-suite:/media:z + + + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/media/tdarr.network b/media/tdarr.network new file mode 100644 index 0000000..aa73faf --- /dev/null +++ b/media/tdarr.network @@ -0,0 +1,3 @@ +[Network] +Driver=bridge +NetworkName=tdarr diff --git a/semaphore/semaphore-config.volume b/semaphore/semaphore-config.volume new file mode 100644 index 0000000..8fd0846 --- /dev/null +++ b/semaphore/semaphore-config.volume @@ -0,0 +1,2 @@ +[Volume] +VolumeName=semaphore-config diff --git a/semaphore/semaphore.container b/semaphore/semaphore.container new file mode 100644 index 0000000..9b376c3 --- /dev/null +++ b/semaphore/semaphore.container @@ -0,0 +1,20 @@ +[Unit] +Description=Semaphore + +[Container] +AutoUpdate=registry +ContainerName=semaphore +Environment=TZ=Europe/Berlin +Image=docker.io/semaphoreui/semaphore:latest +Environment=SEMAPHORE_DB_DIALECT=bolt +Environment=SEMAPHORE_ADMIN=admin +Secret=semaphore-password,type=env,target=SEMAPHORE_ADMIN_PASSWORD +Environment=SEMAPHORE_ADMIN_NAME=Administrator +Pod=semaphore.pod +Volume=semaphore-config.volume:/etc/semaphore + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/semaphore/semaphore.network b/semaphore/semaphore.network new file mode 100644 index 0000000..119ee04 --- /dev/null +++ b/semaphore/semaphore.network @@ -0,0 +1,3 @@ +[Network] +Driver=bridge +NetworkName=semaphore diff --git a/semaphore/semaphore.pod b/semaphore/semaphore.pod new file mode 100644 index 0000000..1e1d607 --- /dev/null +++ b/semaphore/semaphore.pod @@ -0,0 +1,12 @@ +[Unit] +Description=Semaphore Pod + +[Pod] +PodName=semaphore +Network=semaphore.network +PublishPort=3000:3000 + +[Install] +WantedBy=default.target + +