initial upload

This commit is contained in:
2026-02-12 14:07:22 +01:00
parent 40623ba331
commit 3308ffec42
75 changed files with 714 additions and 1 deletions

View File

@@ -1,2 +1,2 @@
# quadlets # Podman-Systemd-Units

View File

@@ -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

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=authentik-cache

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=authentik-certs

View File

@@ -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

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=authentik-database

View File

@@ -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

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=authentik-media

View File

@@ -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

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=authentik-templates

View File

@@ -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

View File

@@ -0,0 +1,3 @@
[Network]
Driver=bridge
NetworkName=authentik

13
authentik/authentik.pod Normal file
View File

@@ -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

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=gitea-config

2
gitea/gitea-data.volume Normal file
View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=gitea-data

17
gitea/gitea.container Normal file
View File

@@ -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

3
gitea/gitea.network Normal file
View File

@@ -0,0 +1,3 @@
[Network]
Driver=bridge
NetworkName=gitea

9
gitea/gitea.pod Normal file
View File

@@ -0,0 +1,9 @@
[Unit]
Description=Gitea Pod
[Pod]
PodName=gitea
Network=gitea.network
PublishPort=3001:3000
PublishPort=2222:2222
[Install]
WantedBy=default.target

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=homeassistant-config

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=homeassistant-mosquitto-config

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=homeassistant-mosquitto-data

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=homeassistant-mosquitto-log

View File

@@ -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

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=homeassistant-z2mqtt-data

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1,9 @@
[Unit]
Description=Home Assistant Pod
[Pod]
PodName=homeassistant
Network=host
[Install]
WantedBy=default.target

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=musicassistant-data

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=immich-config

View File

@@ -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

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=immich-data

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=immich-photos

View File

@@ -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

View File

@@ -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

3
immich/immich.network Normal file
View File

@@ -0,0 +1,3 @@
[Network]
Driver=bridge
NetworkName=immich

10
immich/immich.pod Normal file
View File

@@ -0,0 +1,10 @@
[Unit]
Description=Immich Pod
[Pod]
PodName=immich
Network=immich.network
PublishPort=8129:8080
[Install]
WantedBy=default.target

View File

@@ -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

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=komga-config

2
manga/komga-data.volume Normal file
View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=komga-data

2
manga/komga-temp.volume Normal file
View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=komga-temp

20
manga/komga.container Normal file
View File

@@ -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

3
manga/manga.network Normal file
View File

@@ -0,0 +1,3 @@
[Network]
Driver=bridge
NetworkName=manga

13
manga/manga.pod Normal file
View File

@@ -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

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=suwayomi-config

20
manga/suwayomi.container Normal file
View File

@@ -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

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=bazarr-config

19
media/bazarr.container Normal file
View File

@@ -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

2
media/emby-config.volume Normal file
View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=emby-config

19
media/emby.container Normal file
View File

@@ -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

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=ersatztv-config

19
media/ersatztv.container Normal file
View File

@@ -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

3
media/media.network Normal file
View File

@@ -0,0 +1,3 @@
[Network]
Driver=bridge
NetworkName=media

21
media/media.pod Normal file
View File

@@ -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

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=profilarr-config

18
media/profilarr.container Normal file
View File

@@ -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

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=radarr-config

19
media/radarr.container Normal file
View File

@@ -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

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=sabnzbd-config

19
media/sabnzbd.container Normal file
View File

@@ -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

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=seerr-config

17
media/seerr.container Normal file
View File

@@ -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

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=sonarr-config

19
media/sonarr.container Normal file
View File

@@ -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

2
media/tdarr-cache.volume Normal file
View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=tdarr-cache

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=tdarr-config

2
media/tdarr-data.volume Normal file
View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=tdarr-data

2
media/tdarr-logs.volume Normal file
View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=tdarr-logs

40
media/tdarr.container Normal file
View File

@@ -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

3
media/tdarr.network Normal file
View File

@@ -0,0 +1,3 @@
[Network]
Driver=bridge
NetworkName=tdarr

View File

@@ -0,0 +1,2 @@
[Volume]
VolumeName=semaphore-config

View File

@@ -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

View File

@@ -0,0 +1,3 @@
[Network]
Driver=bridge
NetworkName=semaphore

12
semaphore/semaphore.pod Normal file
View File

@@ -0,0 +1,12 @@
[Unit]
Description=Semaphore Pod
[Pod]
PodName=semaphore
Network=semaphore.network
PublishPort=3000:3000
[Install]
WantedBy=default.target