fix(quadlets): normalize networks, volumes, update

This commit is contained in:
redbeardymcgee 2025-04-21 08:34:11 -05:00
parent 72f703b5f9
commit 500ffb5f8c
155 changed files with 281 additions and 197 deletions

View file

@ -1,3 +1,3 @@
# Quadlets
## Quadlets
Quadlets go in `~/.config/containers/systemd`.

View file

@ -1,5 +1,5 @@
[Unit]
Description=Budget management
Description=Actual budget management
[Service]
@ -12,6 +12,8 @@ WantedBy=default.target
[Container]
Image=docker.io/actualbudget/actual-server:latest
ContainerName=actual
Network=actual.network
HostName=actual
Volume=actual-data:/data

View file

@ -0,0 +1 @@
[Network]

View file

@ -11,8 +11,9 @@ WantedBy=default.target
[Container]
Image=docker.io/adguard/adguardhome:latest
ContainerName=adguard
HostName=adguard
Network=adguard.network
HostName=adguard
PublishPort=53:53/tcp
PublishPort=53:53/udp
PublishPort=784:784/udp
@ -21,6 +22,6 @@ PublishPort=3000:3000/tcp
PublishPort=8844:80/tcp
PublishPort=8443:443/tcp
Volume=adguard-config:/opt/adguardhome/work:z
Volume=adguard-work:/opt/adguardhome/conf:z
Volume=/var/log/AdGuardHome.log:/var/log/AdGuardHome.log:z
Volume=adguard-config:/opt/adguardhome/work
Volume=adguard-work:/opt/adguardhome/conf
Volume=/var/log/AdGuardHome.log:/var/log/AdGuardHome.log

View file

@ -0,0 +1 @@
[Network]

View file

@ -11,13 +11,11 @@ WantedBy=default.target
[Container]
Image=docker.io/advplyr/audiobookshelf:latest
ContainerName=audiobookshelf
HostName=audiobookshelf
Network=audiobookshelf.network
HostName=audiobookshelf
PublishPort=13378:80
Volume=audiobookshelf-config:/metadata:z
Volume=audiobookshelf-metadata:/config:z
Volume=audiobookshelf-audiobooks:/audiobooks:z
Environment=AUDIOBOOKSHELF_UID=USER_UID_HERE
Environment=AUDIOBOOKSHELF_GID=USER_GID_HERE
Volume=audiobookshelf-config:/metadata
Volume=audiobookshelf-metadata:/config
Volume=audiobookshelf-audiobooks:/audiobooks

View file

@ -0,0 +1 @@
[Network]

View file

@ -13,6 +13,7 @@ WantedBy=default.target
Image=docker.io/postgres
ContainerName=blinko-db
Network=blinko.network
HostName=blinko-db
PublishPort=5435:5432

View file

@ -14,6 +14,7 @@ WantedBy=default.target
Image=docker.io/blinkospace/blinko
ContainerName=blinko
Network=blinko.network
HostName=blinko
PublishPort=1111:1111

View file

@ -0,0 +1 @@
[Network]

View file

@ -1,3 +1,4 @@
[Volume]
VolumeName=blinko-data
VolumeName=blinko-db

View file

@ -1,3 +0,0 @@
[Volume]
VolumeName=blinko-db

View file

@ -1,2 +1,3 @@
[Volume]
VolumeName=caddy-config
VolumeName=caddy-data

View file

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

View file

@ -11,8 +11,9 @@ WantedBy=default.target
[Container]
Image=lscr.io/linuxserver/calibre:latest
ContainerName=calibre
HostName=calibre
Network=calibre.network
HostName=calibre
PublishPort=8080
Volume=calibre-config:/config

View file

@ -0,0 +1 @@
[Network]

View file

@ -12,6 +12,7 @@ WantedBy=default.target
Image=ghcr.io/chartdb/chartdb
ContainerName=chartdb
Network=chartdb.network
HostName=chartdb
PublishPort=8080:80

View file

@ -0,0 +1 @@
[Network]

View file

@ -13,7 +13,7 @@ Image=docker.io/mauricenino/dashdot:nvidia
ContainerName=dashdot-nvidia
AutoUpdate=registry
Network=
Network=dashdot.network
HostName=dashdot
PublishPort=3001:3001

View file

@ -13,7 +13,7 @@ Image=docker.io/mauricenino/dashdot
ContainerName=dashdot
AutoUpdate=registry
Network=
Network=dashdot.network
HostName=dashdot
PublishPort=3001:3001

View file

@ -0,0 +1 @@
[Network]

View file

@ -12,10 +12,10 @@ WantedBy=default.target
[Container]
Image=docker.io/lissy93/dashy:$dashy_version
ContainerName=dashy
HostName=dashy
AutoUpdate=registry
Network=
Network=dashy.network
HostName=dashy
Volume=./user-data:/app/user-data

View file

@ -0,0 +1 @@
[Network]

View file

@ -12,8 +12,11 @@ WantedBy=multi-user.target default.target
Image=docker.io/hurlenko/filebrowser:latest
ContainerName=filebrowser
Network=filebrowser.network
Hostname=filebrowser
Volume=/path/to/what/you/want/to/share:/data:z
Volume=fb-config:/config:z
Volume=fb-branding:/branding:z
PublishPort=8008:8080
PublishPort=8008:8080

View file

@ -0,0 +1 @@
[Network]

View file

@ -13,6 +13,7 @@ Image=docker.io/collabora/code:24.04.10.2.1
ContainerName=filestash-wopi
AutoUpdate=registry
Network=filestash.network
HostName=filestash-wopi
PublishPort=9980:9980

View file

@ -14,13 +14,15 @@ Image=docker.io/machines/filestash:latest
ContainerName=filestash
AutoUpdate=registry
Network=filestash.network
HostName=filestash
PublishPort=8334:8334
Environment=APPLICATION_URL=
Volume=filestash:/app/data/state
Environment=APPLICATION_URL=https://filestash.example.com
Environment=CANARY=true
Environment=OFFICE_URL=http://filestash-wopi:9980
Environment=OFFICE_FILESTASH_URL=http://filestash:8334
Environment=OFFICE_REWRITE_URL=http://127.0.0.1:9980
Volume=filestash:/app/data/state

View file

@ -0,0 +1 @@
[Network]

View file

@ -14,7 +14,7 @@ Image=codeberg.org/forgejo/forgejo:10
ContainerName=forgejo
AutoUpdate=registry
Network=
Network=forgejo.network
HostName=forgejo
PublishPort=222:22
PublishPort=3000:3000

View file

@ -0,0 +1 @@
[Network]

View file

@ -11,19 +11,19 @@ WantedBy=default.target
[Container]
Image=docker.io/felddy/foundryvtt:release
ContainerName=foundryvtt
HostName=foundryvtt
AutoUpdate=registry
Network=foundryvtt.network
HostName=foundryvtt
Volume=foundryvtt-data:/data
PublishPort=30000:30000
Environment=TIMEZONE=
Environment=FOUNDRY_UID=
Environment=FOUNDRY_GID=
Environment=FOUNDRY_PASSWORD=
Environment=TIMEZONE=Etc/UTC
Secret=foundry-password,type=env,target=FOUNDRY_PASSWORD
Environment=FOUNDRY_USERNAME=
Environment=FOUNDRY_ADMIN_KEY=
Environment=FOUNDRY_LICENSE_KEY=XXXX-XXXX-XXXX-XXXX-XXXX-XXXX
Environment=FOUNDRY_HOT_RELOAD=true
Secret=foundry-admin-key,type=env,target=FOUNDRY_ADMIN_KEY
Secret=foundry-license-key,type=env,target=FOUNDRY_LICENSE_KEY=XXXX-XXXX-XXXX-XXXX-XXXX-XXXX
Environment=FOUNDRY_HOT_RELOAD=false
Environment=CONTAINER_PRESERVE_CONFIG=true
Environment=CONTAINER_CACHE="/data/container_cache"
Environment=CONTAINER_CACHE="/data/container_cache"

View file

@ -0,0 +1 @@
[Network]

View file

@ -11,9 +11,9 @@ WantedBy=default.target
[Container]
Image=docker.io/heussd/fivefilters-full-text-rss:latest
ContainerName=fivefilters
HostName=fivefilters
Network=freshrss.network
HostName=fivefilters
PublishPort=5000:80
Environment=FTR_ADMIN_PASSWORD=XXXXXXXX
Secret=ftr-admin-password,type=env,target=FTR_ADMIN_PASSWORD

View file

@ -1,5 +1,6 @@
[Unit]
Description=FreshRSS Quadlet
Requires=fivefilters.service
After=fivefilters.service
[Service]
@ -12,13 +13,11 @@ WantedBy=default.target
[Container]
Image=docker.io/linuxserver/freshrss:latest
ContainerName=freshrss
HostName=freshrss
Network=freshrss.network
HostName=freshrss
PublishPort=4422:80
Volume=freshrss-config:/config:z
Volume=freshrss-config:/config
Environment=PUID=1001
Environment=PGID=1001
Environment=TZ=Europe/London
Environment=TZ=Etc/UTC

View file

@ -1,9 +1 @@
[Network]
Subnet=10.10.10.0/24
Gateway=10.10.10.1
Label=app=freshrss
Driver=pasta

View file

@ -13,8 +13,9 @@ Image=docker.io/glanceapp/glance
ContainerName=glance
AutoUpdate=registry
Network=glance.network
HostName=glance
PublishPort=8080
PublishPort=8080:8080
Volume=./config:/app/config
Volume=glance-config:/app/config

View file

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

View file

@ -11,9 +11,11 @@ WantedBy=default.target
[Container]
Image=docker.io/nicolargo/glances:$version_tag
ContainerName=glances
HostName=glances
AutoUpdate=registry
Network=glances.network
HostName=glances
Volume=%t/podman/podman.sock:/run/user/1000/podman/podman.sock:ro
Volume=/etc/os-release:/etc/os-release:ro
Volume=./glances.conf:/glances/conf/glances.conf

View file

@ -0,0 +1 @@
[Network]

View file

@ -11,7 +11,7 @@ TimeoutStartSec=900
WantedBy=default.target
[Container]
Image=docker.io/qmcgaw/gluetun:$gluetun_version
Image=docker.io/qmcgaw/gluetun
ContainerName=gluetun
HostName=gluetun
AutoUpdate=registry
@ -20,7 +20,7 @@ AddDevice=/dev/net/tun:/dev/net/tun
Volume=./config.toml:/gluetun/auth/config.toml
Environment=TZ=$timezone
Environment=TZ=Etc/UTC
Environment=UPDATER_PERIOD=24h
Environment=UPDATER_VPN_SERVICE_PROVIDERS=protonvpn
Environment=VPN_SERVICE_PROVIDER=protonvpn

View file

@ -11,6 +11,9 @@ WantedBy=default.target
[Container]
Image=docker.io/zenika/alpine-chrome
ContainerName=hoarder-chrome
AutoUpdate=registry
Network=hoarder.network
HostName=hoarder-chrome
Exec=--no-sandbox --disable-gpu --disable-dev-shm-usage --remote-debugging-address=0.0.0.0 --remote-debugging-port=9222 --hide-scrollbars

View file

@ -1,7 +1,6 @@
[Unit]
Description=Hoarder requirement
[Service]
Restart=on-failure
TimeoutStartSec=900
@ -12,8 +11,11 @@ WantedBy=default.target
[Container]
Image=docker.io/getmeili/meilisearch:v1.6
ContainerName=hoarder-meilisearch
AutoUpdate=registry
Network=hoarder.network
HostName=hoarder-meilisearch
EnvironmentFile=hoarder.env
Volume=meilisearch:/meili_data
Volume=hoarder-meilisearch:/meili_data

View file

@ -12,9 +12,11 @@ WantedBy=default.target
[Container]
Image=ghcr.io/hoarder-app/hoarder:release
ContainerName=hoarder
HostName=hoarder
AutoUpdate=registry
PublishPort=3000
Network=hoarder.network
HostName=hoarder
PublishPort=3000:3000
Volume=hoarder-data:/data

View file

@ -1,2 +1,3 @@
[Volume]
VolumeName=hoarder-data
VolumeName=hoarder-meilisearch

View file

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

View file

@ -1,3 +0,0 @@
[Volume]
VolumeName=homarr-data

View file

@ -1,7 +1,6 @@
[Unit]
Description=Homarr
[Service]
Restart=on-failure
TimeoutStartSec=900
@ -12,6 +11,8 @@ WantedBy=default.target
[Container]
Image=ghcr.io/ajnart/homarr:latest
ContainerName=homarr
Network=homarr.network
HostName=homarr
Volume=homarr-configs:/app/data/configs

View file

@ -0,0 +1 @@
[Network]

View file

@ -1,3 +1,4 @@
[Volume]
VolumeName=homarr-configs
VolumeName=homarr-data

View file

@ -11,8 +11,10 @@ WantedBy=default.target
[Container]
Image=docker.io/b4bz/homer
ContainerName=homer
HostName=homer
AutoUpdate=registry
Network=homer.network
HostName=homer
PublishPort=8080:8080
Volume=homer-assets:/www/assets

View file

@ -0,0 +1 @@
[Network]

View file

@ -11,6 +11,7 @@ WantedBy=default.target
[Container]
Image=docker.io/corentinth/it-tools:latest
ContainerName=it-tools
HostName=it-tools
PublishPort=8088:80
Network=it-tools.network
HostName=it-tools
PublishPort=8088:80

View file

@ -0,0 +1 @@
[Network]

View file

@ -10,9 +10,11 @@ WantedBy=default.target
[Container]
Image=docker.io/joplin/server:latest
ContainerName=joplin-server
HostName=joplin-server
ContainerName=joplin
AutoUpdate=registry
Network=joplin.network
HostName=joplin
PublishPort=22300:22300
Environment=APP_BASE_URL=https://joplin.example.com

View file

@ -0,0 +1 @@
[Network]

View file

@ -12,13 +12,14 @@ WantedBy=default.target
[Container]
Image=ghcr.io/kareadita/kavita:latest
ContainerName=kavita
HostName=kavita
AutoUpdate=registry
Network=kavita.network
HostName=kavita
PublishPort=5000
Volume=kavita-config:/kavita/config
Volume=/volumes/books:/library
Environment=TZ=
Environment=TZ=Etc/UTC

View file

@ -0,0 +1 @@
[Network]

View file

@ -10,11 +10,11 @@ WantedBy=default.target
[Container]
Image=docker.io/peterdemin/kibitzr:latest
AutoUpdate=registry
ContainerName=kibitzr
HostName=kibitzr
AutoUpdate=registry
Network=
Network=kibitzr.network
HostName=kibitzr
Volume=kibitzr-root:/root

View file

@ -0,0 +1 @@
[Network]

View file

@ -11,8 +11,10 @@ WantedBy=default.target
[Container]
ContainerName=lazylibrarian
Image=lscr.io/linuxserver/lazylibrarian:latest
HostName=lazylibrar
AutoUpdate=registry
Network=lazylibrarian
HostName=lazylibrarian
PublishPort=5299
Volume=lazylibrarian-config:/config

View file

@ -0,0 +1 @@
[Network]

View file

@ -1,7 +1,5 @@
[Unit]
Description=Speedtest server
After=gluetun.service
BindsTo=gluetun.service
[Service]
Restart=on-failure
@ -13,10 +11,10 @@ WantedBy=default.target
[Container]
Image=ghcr.io/librespeed/speedtest:latest
ContainerName=librespeed
HostName=librespeed
AutoUpdate=registry
Network=
Network=librespeed.network
HostName=librespeed
Volume=/volumes/librespeed/database:/database

View file

@ -0,0 +1 @@
[Network]

View file

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

View file

@ -12,6 +12,9 @@ WantedBy=default.target
[Container]
Image=docker.io/postgres:16-alpine
ContainerName=linkwarden-database
AutoUpdate=registry
Network=linkwarden.network
HostName=linkwarden-database
Volume=linkwarden-database:/var/lib/postgresql/data

View file

@ -12,7 +12,9 @@ WantedBy=default.target
[Container]
Image=ghcr.io/linkwarden/linkwarden:latest
ContainerName=linkwarden
AutoUpdate=registry
Network=linkwarden.network
HostName=linkwarden
PublishPort=3000

View file

@ -1,3 +1,3 @@
[Volume]
VolumeName=linkwarden-data
VolumeName=linkwarden-database

View file

@ -1,5 +1,6 @@
[Unit]
Description=Matrix Synapse Quadlet
Description=Matrix Synapse DB Quadlet
WantedBy=matrix.service
[Service]
Restart=always
@ -9,16 +10,20 @@ TimeoutStartSec=900
WantedBy=default.target
[Container]
Image=docker.io/matrixdotorg/synapse:latest
ContainerName=matrix_synapse
HostName=matrix_synapse
Image=docker.io/library/postgres:15
ContainerName=matrix-db
AutoUpdate=registry
PublishPort=8008:8008
Network=matrix.network
HostName=matrix-db
PublishPort=5432:5432
Volume=matrix-data:/data
Volume=matrix-db:/var/lib/postgresql/data
Environment=VIRTUAL_HOST=matrix.example.com
Environment=VIRTUAL_PORT=8008
Environment=LETSENCRYPT_HOST=matrix.example.com
Environment=SYNAPSE_SERVER_NAME=matrix.example.com
Environment=SYNAPSE_REPORT_STATS=no
Environment=POSTGRES_PASSWORD=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Environment=POSTGRES_USER=synapse_user
Environment=POSTGRES_DB=synapse
Environment=LANG=C
Environment=LC_COLLATE=C
Environment=LC_CTYPE=C
Environment=POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C

View file

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

View file

@ -1,6 +1,7 @@
[Unit]
Description=Matrix Synapse DB Quadlet
WantedBy=matrix.service
Description=Matrix Synapse Quadlet
Requires=matrix-db.service
After=matrix-db.service
[Service]
Restart=always
@ -10,18 +11,18 @@ TimeoutStartSec=900
WantedBy=default.target
[Container]
Image=docker.io/library/postgres:15
ContainerName=matrix_synapse_db
HostName=matrix_synapse_db
Image=docker.io/matrixdotorg/synapse:latest
ContainerName=matrix
AutoUpdate=registry
PublishPort=5432:5432
Network=matrix.network
HostName=matrix
PublishPort=8008:8008
Volume=matrix-db-data:/var/lib/postgresql/data:z
Volume=matrix-db:/data
Environment=POSTGRES_PASSWORD=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Environment=POSTGRES_USER=synapse_user
Environment=POSTGRES_DB=synapse
Environment=LANG=C
Environment=LC_COLLATE=C
Environment=LC_CTYPE=C
Environment=POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C
Environment=VIRTUAL_HOST=matrix.example.com
Environment=VIRTUAL_PORT=8008
Environment=LETSENCRYPT_HOST=matrix.example.com
Environment=SYNAPSE_SERVER_NAME=matrix.example.com
Environment=SYNAPSE_REPORT_STATS=no

View file

@ -0,0 +1 @@
[Network]

View file

@ -1,2 +1,2 @@
[Volume]
VolumeName=matrix-data
VolumeName=matrix-db

View file

@ -11,6 +11,8 @@ WantedBy=default.target
[Container]
Image=docker.io/hkotel/mealie:latest
ContainerName=mealie
Network=mealie.network
HostName=mealie
Volume=mealie-data:/app/data

View file

@ -0,0 +1 @@
[Network]

View file

@ -12,6 +12,7 @@ WantedBy=default.target
Image=docker.io/neosmemo/memos:stable
ContainerName=memos
Network=memos.network
HostName=memos
PublishPort=5230

View file

@ -0,0 +1 @@
[Network]

View file

@ -11,7 +11,9 @@ WantedBy=default.target
[Container]
ContainerName=minio
Image=docker.io/minio/minio
AutoUpdate=registry
Network=minio.network
HostName=minio
PublishPort=9000:9000
PublishPort=9001:9001

View file

@ -0,0 +1 @@
[Network]

View file

@ -11,8 +11,10 @@ WantedBy=default.target
[Container]
Image=docker.io/mirotalk/p2p
ContainerName=mirotalk
AutoUpdate=registry
Network=mirotalk.network
HostName=mirotalk
PublishPort=3000
PublishPort=3000:3000
Volume=./mirotalk.env:/src/.env

View file

@ -0,0 +1 @@
[Network]

View file

@ -11,18 +11,18 @@ WantedBy=default.target
[Container]
Image=lscr.io/linuxserver/netbootxyz:latest
ContainerName=netboot-xyz
AutoUpdate=registry
Network=netboot-xyz.network
HostName=netboot-xyz
Volume=netboot-xyz-config:/config
Volume=netboot-xyz-assets:/assets:z
PublishPort=3000:3000
PublishPort=8082:80
PublishPort=69:69/udp
Environment=PUID=
Environment=PGID=
Environment=TZ=
Volume=netboot-xyz-config:/config
Volume=netboot-xyz-assets:/assets:z
Environment=TZ=Etc/UTC
Environment=PORT_RANGE=30000:30010
Environment=SUBFOLDER=/
Environment=WEB_APP_PORT=3000

View file

@ -0,0 +1 @@
[Network]

View file

@ -1,3 +0,0 @@
[Volume]
VolumeName=netdatacache

View file

@ -1,3 +0,0 @@
[Volume]
VolumeName=netdataconfig

View file

@ -1,3 +0,0 @@
[Volume]
VolumeName=netdatalib

View file

@ -11,16 +11,17 @@ WantedBy=default.target
[Container]
Image=docker.io/netdata/netdata:stable
ContainerName=netdata
HostName=netdata
AutoUpdate=registry
AddCapability=SYS_PTRACE
AddCapability=SYS_ADMIN
Network=host
HostName=netdata
Volume=netdataconfig:/etc/netdata
Volume=netdatalib:/var/lib/netdata
Volume=netdatacache:/var/cache/netdata
Volume=netdata-config:/etc/netdata
Volume=netdata-lib:/var/lib/netdata
Volume=netdata-cache:/var/cache/netdata
Volume=/:/host/root:ro,rslave
Volume=/etc/passwd:/host/etc/passwd:ro
Volume=/etc/group:/host/etc/group:ro

View file

@ -0,0 +1,5 @@
[Volume]
VolumeName=netdata-cache
VolumeName=netdata-config
VolumeName=netdata-lib

View file

@ -11,11 +11,13 @@ WantedBy=default.target
[Container]
Image=docker.io/nginx
ContainerName=nginx
HostName=nginx
AutoUpdate=registry
Network=nginx.network
HostName=nginx
PublishPort=80:80
PublishPort=443:443
Volume=nginx-html:/usr/share/nginx/html:Z,U
Volume=nginx-html:/usr/share/nginx/html
Environment=TZ=Etc/UTC

View file

@ -0,0 +1 @@
[Network]

Some files were not shown because too many files have changed in this diff Show more