Migrate to Quadlet

This commit is contained in:
Mo 2023-12-30 15:55:16 +01:00
parent 334ff80a36
commit ddd9f069ea
48 changed files with 398 additions and 459 deletions

View file

@ -1,15 +0,0 @@
#!/usr/bin/env fish
set -l container_name comprehensive-rust
mkdir -p ~/volumes/$container_name
mdbook build -d ~/volumes/$container_name ~/code/comprehensive-rust; or return 1
podman-default-create \
$container_name \
--network traefik \
-v ~/sync/volumes/nginx.conf:/etc/nginx/nginx.conf:z,ro \
-v ~/volumes/$container_name:/usr/share/nginx/html:Z,ro \
--label "io.containers.autoupdate=registry" \
docker.io/library/nginx:latest

View file

@ -1,15 +0,0 @@
#!/usr/bin/env fish
set -l container_name dev-tools
mkdir -p ~/volumes/$container_name
mdbook build -d ~/volumes/$container_name ~/code/dev_tools; or return 1
podman-default-create \
$container_name \
--network traefik \
-v ~/sync/volumes/nginx.conf:/etc/nginx/nginx.conf:z,ro \
-v ~/volumes/$container_name:/usr/share/nginx/html:Z,ro \
--label "io.containers.autoupdate=registry" \
docker.io/library/nginx:latest

View file

@ -1,12 +0,0 @@
#!/usr/bin/env fish
set -l container_name forgejo
set -l container_volumes_dir ~/volumes/$container_name
podman-default-create \
$container_name \
--network traefik \
-p 2222:2222 \
-v $container_volumes_dir/data:/data:Z \
--label "io.containers.autoupdate=registry" \
codeberg.org/forgejo/forgejo:1.21

View file

@ -1,48 +0,0 @@
#!/usr/bin/env fish
set -l container_name hedgedoc
set -l container_volumes_dir ~/volumes/$container_name
set -l hedgedoc_dir $container_volumes_dir/hedgedoc
set -l uploads_dir $hedgedoc_dir/uploads
mkdir -p $uploads_dir
set -l db_container_name hedgedoc-postgres
set -l db_container_dir $container_volumes_dir/postgres
mkdir -p $db_container_dir
podman-default-create \
$db_container_name \
--network traefik \
-v $db_container_dir:/var/lib/postgresql/data:Z \
-e POSTGRES_DB=hedgedoc \
-e POSTGRES_USER=hedgedoc \
--env-file $container_volumes_dir/postgres.env \
--label "io.containers.autoupdate=registry" \
docker.io/library/postgres:16
podman-default-create \
$container_name \
--network traefik \
-v $uploads_dir:/hedgedoc/public/uploads:Z \
-e NODE_ENV=production \
-e DEBUG=false \
-e CMD_DB_DATABASE=hedgedoc \
-e CMD_DB_USERNAME=hedgedoc \
-e CMD_DB_HOST=hedgedoc-postgres \
-e CMD_DB_PORT=5432 \
-e CMD_DB_DIALECT=postgres \
-e CMD_PROTOCOL_USESSL=true \
-e CMD_CSP_ALLOW_FRAMING=false \
-e CMD_CSP_ALLOW_PDF_EMBED=false \
-e CMD_ALLOW_GRAVATAR=false \
-e CMD_ALLOW_FREEURL=true \
-e CMD_ALLOW_ANONYMOUS_EDITS=true \
-e CMD_DEFAULT_PERMISSION=freely \
-e CMD_DOMAIN=pads.mo8it.com \
--env-file $container_volumes_dir/hedgedoc.env \
--label "io.containers.autoupdate=registry" \
quay.io/hedgedoc/hedgedoc:latest
podman exec -it $container_name chown -R hedgedoc /hedgedoc/public/uploads

View file

@ -1,11 +0,0 @@
#!/usr/bin/env fish
set -l container_name how-2-julia
podman-default-create \
$container_name \
--network traefik \
-v ~/sync/volumes/nginx.conf:/etc/nginx/nginx.conf:z,ro \
-v ~/code/how_2_julia:/usr/share/nginx/html:Z,ro \
--label "io.containers.autoupdate=registry" \
docker.io/library/nginx:latest

View file

@ -1,18 +0,0 @@
#!/usr/bin/env fish
set -l container_name ihatemoney
set -l container_volumes_dir ~/volumes/$container_name
podman-default-create \
$container_name \
--network traefik \
-v $container_volumes_dir/db:/volumes/db:Z \
-e ACTIVATE_ADMIN_DASHBOARD=False \
-e ACTIVATE_DEMO_PROJECT=False \
-e ALLOW_PUBLIC_PROJECT_CREATION=False \
-e BABEL_DEFAULT_TIMEZONE=Europe/Berlin \
-e PORT=80 \
-e SQLALCHEMY_DATABASE_URI=sqlite:////volumes/db/ihatemoney.sqlite \
--env-file $container_volumes_dir/.env \
--label "io.containers.autoupdate=registry" \
docker.io/ihatemoney/ihatemoney:latest

View file

@ -1,12 +0,0 @@
#!/usr/bin/env fish
set -l container_name internet-login
set -l container_volumes_dir ~/volumes/$container_name
buildah build -t $container_name:latest ~/code/internet-login; or return 1
podman-default-create \
$container_name \
--network host \
-v $container_volumes_dir/config.toml:/volumes/config.toml:Z,ro \
localhost/$container_name:latest

View file

@ -1,20 +0,0 @@
#!/usr/bin/env fish
set -l container_name juna-li-com
mkdir -p ~/volumes/$container_name
podman run \
--rm \
-v ~/code/juna-li.com:/volumes/src:Z,ro \
-v ~/volumes/$container_name:/volumes/output:Z \
-w /volumes/src \
ghcr.io/getzola/zola:v0.18.0 build -o /volumes/output/public -f; or return 1
podman-default-create \
$container_name \
--network traefik \
-v ~/sync/volumes/nginx.conf:/etc/nginx/nginx.conf:z,ro \
-v ~/volumes/$container_name/public:/usr/share/nginx/html:Z,ro \
--label "io.containers.autoupdate=registry" \
docker.io/library/nginx:latest

View file

@ -1,11 +0,0 @@
#!/usr/bin/env fish
set -l container_name lldap
set -l container_volumes_dir ~/volumes/$container_name
podman-default-create \
$container_name \
--net traefik \
-v $container_volumes_dir/data:/data:Z \
--label "io.containers.autoupdate=registry" \
docker.io/nitnelave/lldap:stable

View file

@ -1,20 +0,0 @@
#!/usr/bin/env fish
set -l container_name mo8it-com
mkdir -p ~/volumes/$container_name
podman run \
--rm \
-v ~/code/mo8it.com:/volumes/src:Z,ro \
-v ~/volumes/$container_name:/volumes/output:Z \
-w /volumes/src \
ghcr.io/getzola/zola:v0.18.0 build -o /volumes/output/public -f; or return 1
podman-default-create \
$container_name \
--network traefik \
-v ~/sync/volumes/nginx.conf:/etc/nginx/nginx.conf:z,ro \
-v ~/volumes/$container_name/public:/usr/share/nginx/html:Z,ro \
--label "io.containers.autoupdate=registry" \
docker.io/library/nginx:latest

View file

@ -1,35 +0,0 @@
#!/usr/bin/env fish
set -l container_name nextcloud
set -l container_volumes_dir ~/volumes/$container_name
set -l container_nextcloud_dir $container_volumes_dir/nextcloud
set -l db_env_file $container_volumes_dir/.postgres.env
if not test -f $db_env_file
echo "$db_env_file missing"
exit 1
end
mkdir -p $container_nextcloud_dir
set -l db_container_name nextcloud-postgres
set -l db_container_dir $container_volumes_dir/postgres
mkdir -p $db_container_dir
podman-default-create \
$db_container_name \
--network traefik \
-v $db_container_dir:/var/lib/postgresql/data:Z \
--env-file $db_env_file \
--label "io.containers.autoupdate=registry" \
docker.io/library/postgres:16; or return 1
podman-default-create \
$container_name \
--network traefik \
-v $container_nextcloud_dir:/var/www/html:Z \
-e POSTGRES_HOST=$db_container_name \
--env-file $db_env_file \
--label "io.containers.autoupdate=registry" \
docker.io/library/nextcloud:28-apache

View file

@ -1,11 +0,0 @@
#!/usr/bin/env fish
set -l container_name oxiform
set -l container_volume ~/code/oxiform_website
podman-default-create \
$container_name \
--network traefik \
-v $container_volume:/usr/share/nginx/html:Z,ro \
--label "io.containers.autoupdate=registry" \
docker.io/library/nginx:latest

View file

@ -1,12 +0,0 @@
#!/usr/bin/env fish
set -l container_name oxiform-oxiform
set -l container_volumes_dir ~/volumes/$container_name
buildah build --layers -t $container_name:latest ~/code/oxiform
podman-default-create \
$container_name \
--network traefik \
-v $container_volumes_dir:/volumes/data:Z \
localhost/$container_name:latest

View file

@ -1,25 +0,0 @@
#!/usr/bin/env fish
set -l container_name oxitraffic
set -l container_volumes_dir ~/volumes/$container_name
set -l db_container_name oxitraffic-db
set -l db_env_file $container_volumes_dir/.postgres.env
podman-default-create \
$db_container_name \
--network traefik \
-v $container_volumes_dir/db:/var/lib/postgresql/data:Z \
-e TZ=Europe/Berlin \
-e PGTZ=Europe/Berlin \
--env-file $db_env_file \
--label "io.containers.autoupdate=registry" \
docker.io/library/postgres:16; or return 1
podman-default-create \
$container_name \
--network traefik \
-v $container_volumes_dir/config.toml:/volumes/config.toml:Z,ro \
-v $container_volumes_dir/logs:/var/log/oxitraffic:Z \
--label "io.containers.autoupdate=registry" \
docker.io/mo8it/oxitraffic:latest

View file

@ -1,25 +0,0 @@
#!/usr/bin/env fish
set -l container_name oxitraffic-corrode-dev
set -l container_volumes_dir ~/volumes/$container_name
set -l db_container_name oxitraffic-corrode-dev-db
set -l db_env_file $container_volumes_dir/.postgres.env
podman-default-create \
$db_container_name \
--network traefik \
-v $container_volumes_dir/db:/var/lib/postgresql/data:Z \
-e TZ=Europe/Berlin \
-e PGTZ=Europe/Berlin \
--env-file $db_env_file \
--label "io.containers.autoupdate=registry" \
docker.io/library/postgres:16; or return 1
podman-default-create \
$container_name \
--network traefik \
-v $container_volumes_dir/config.toml:/volumes/config.toml:Z,ro \
-v $container_volumes_dir/logs:/var/log/oxitraffic:Z \
--label "io.containers.autoupdate=registry" \
docker.io/mo8it/oxitraffic:latest

View file

@ -1,35 +0,0 @@
#!/usr/bin/env fish
set -l image docker.io/rustdesk/rustdesk-server:latest
set -l container_r_name hbbr
set -l container_r_volumes_dir ~/volumes/rustdesk/$container_r_name
mkdir -p $container_r_volumes_dir
podman-default-create \
$container_r_name \
--network traefik \
-p 21117:21117 \
-p 21119:21119 \
-v $container_r_volumes_dir:/root:Z \
--label "io.containers.autoupdate=registry" \
$image \
hbbr -k _
set -l container_s_name hbbs
set -l container_s_volumes_dir ~/volumes/rustdesk/$container_s_name
mkdir -p $container_s_volumes_dir
podman-default-create \
$container_s_name \
--network traefik \
-p 21115:21115 \
-p 21116:21116 \
-p 21116:21116/udp \
-p 21118:21118 \
-v $container_s_volumes_dir:/root:Z \
--label "io.containers.autoupdate=registry" \
$image \
hbbs -r mo8it.com:21117 -k _

View file

@ -1,22 +0,0 @@
#!/usr/bin/env fish
set -l container_name traefik
set -l container_volumes_dir ~/volumes/$container_name
set -l logs_dir $container_volumes_dir/logs
set -l certs_dir $container_volumes_dir/certs
mkdir -p $logs_dir
mkdir -p $certs_dir
podman network create --ignore traefik; or return 1
podman-default-create \
$container_name \
--network traefik \
-p 8000:80 \
-p 4430:443 \
-v ~/sync/volumes/$container_name:/etc/traefik:Z,ro \
-v $logs_dir:/volumes/logs:Z \
-v $certs_dir:/volumes/certs:Z \
--label "io.containers.autoupdate=registry" \
docker.io/library/traefik:latest

View file

@ -1,27 +0,0 @@
#!/usr/bin/env fish
if test -z $argv[1]
echo "A container number is required as the first argument!"
return 1
end
set -l container_name ttyd$argv[1]
set -l container_volumes_dir ~/volumes/$container_name
set -l container_home_dir $container_volumes_dir/home
mkdir -p $container_volumes_dir; or return 1
if not test -d $container_home_dir
cp -r ~/fedora_home_clone $container_home_dir; or return 1
end
podman-default-create \
$container_name \
--net traefik \
-v $container_home_dir:/home/student:Z \
-v ~/bin/ttyd:/usr/local/bin:z,ro \
--cpu-shares 256 \
--cpus 8 \
--memory 8g \
--memory-reservation 1g \
localhost/ttyd:latest

View file

@ -1,12 +0,0 @@
#!/usr/bin/env fish
set -l container_name yinghong-massage-oxiform
set -l container_volumes_dir ~/volumes/$container_name
buildah build --layers -t $container_name:latest ~/code/oxiform
podman-default-create \
$container_name \
--network traefik \
-v $container_volumes_dir:/volumes/data:Z \
localhost/$container_name:latest

View file

@ -0,0 +1,16 @@
[Unit]
Wants=network-online.target
After=network-online.target
[Container]
Image=docker.io/library/nginx:latest
AutoUpdate=registry
Network=traefik.network
Volume=%h/sync/volumes/nginx.conf:/etc/nginx/nginx.conf:z,ro
Volume=%h/volumes/comprehensive-rust:/usr/share/nginx/html:Z,ro
[Service]
Restart=always
[Install]
WantedBy=default.target

View file

@ -0,0 +1,7 @@
#!/usr/bin/env fish
set -l container_name comprehensive-rust
mkdir -p ~/volumes/$container_name
mdbook build -d ~/volumes/$container_name ~/code/comprehensive-rust

View file

@ -0,0 +1,16 @@
[Unit]
Wants=network-online.target
After=network-online.target
[Container]
Image=docker.io/library/nginx:latest
AutoUpdate=registry
Network=traefik.network
Volume=%h/sync/volumes/nginx.conf:/etc/nginx/nginx.conf:z,ro
Volume=%h/volumes/dev-tools:/usr/share/nginx/html:Z,ro
[Service]
Restart=always
[Install]
WantedBy=default.target

7
quadlet/dev-tools.fish Executable file
View file

@ -0,0 +1,7 @@
#!/usr/bin/env fish
set -l container_name dev-tools
mkdir -p ~/volumes/$container_name
mdbook build -d ~/volumes/$container_name ~/code/dev_tools

17
quadlet/forgejo.container Normal file
View file

@ -0,0 +1,17 @@
[Unit]
Wants=network-online.target
Requires=lldap.service
After=network-online.target lldap.service
[Container]
Image=codeberg.org/forgejo/forgejo:1.21
AutoUpdate=registry
Network=traefik.network
PublishPort=2222:2222
Volume=%h/volumes/forgejo/data:/data:Z
[Service]
Restart=always
[Install]
WantedBy=default.target

View file

@ -0,0 +1,17 @@
[Container]
Image=docker.io/library/postgres:16
AutoUpdate=registry
Network=traefik.network
Volume=%h/volumes/hedgedoc/postgres:/var/lib/postgresql/data:Z
EnvironmentFile=%h/volumes/hedgedoc/postgres.env
Environment=POSTGRES_DB=hedgedoc
Environment=POSTGRES_USER=hedgedoc
Environment=TZ=Europe/Berlin
Environment=PGTZ=Europe/Berlin
[Service]
Restart=always
[Install]
WantedBy=default.target

View file

@ -0,0 +1,33 @@
[Unit]
Wants=network-online.target
Requires=hedgedoc-db.service
After=network-online.target hedgedoc-db.service
[Container]
Image=quay.io/hedgedoc/hedgedoc:latest
AutoUpdate=registry
Network=traefik.network
Volume=%h/volumes/hedgedoc/hedgedoc/uploads:/hedgedoc/public/uploads:Z
EnvironmentFile=%h/volumes/hedgedoc/hedgedoc.env
Environment=NODE_ENV=production
Environment=DEBUG=false
Environment=CMD_DB_DATABASE=hedgedoc
Environment=CMD_DB_USERNAME=hedgedoc
Environment=CMD_DB_HOST=systemd-hedgedoc-db
Environment=CMD_DB_PORT=5432
Environment=CMD_DB_DIALECT=postgres
Environment=CMD_PROTOCOL_USESSL=true
Environment=CMD_CSP_ALLOW_FRAMING=false
Environment=CMD_CSP_ALLOW_PDF_EMBED=false
Environment=CMD_ALLOW_GRAVATAR=false
Environment=CMD_ALLOW_FREEURL=true
Environment=CMD_ALLOW_ANONYMOUS_EDITS=true
Environment=CMD_DEFAULT_PERMISSION=freely
Environment=CMD_DOMAIN=pads.mo8it.com
[Service]
Restart=always
[Install]
WantedBy=default.target

View file

@ -0,0 +1,16 @@
[Unit]
Wants=network-online.target
After=network-online.target
[Container]
Image=docker.io/library/nginx:latest
AutoUpdate=registry
Network=traefik.network
Volume=%h/sync/volumes/nginx.conf:/etc/nginx/nginx.conf:z,ro
Volume=%h/code/how_2_julia:/usr/share/nginx/html:Z,ro
[Service]
Restart=always
[Install]
WantedBy=default.target

View file

@ -0,0 +1,23 @@
[Unit]
Wants=network-online.target
After=network-online.target
[Container]
Image=docker.io/ihatemoney/ihatemoney:latest
AutoUpdate=registry
Network=traefik.network
Volume=%h/volumes/ihatemoney/db:/volumes/db:Z
EnvironmentFile=%h/volumes/ihatemoney/.env
Environment=ACTIVATE_ADMIN_DASHBOARD=False
Environment=ACTIVATE_DEMO_PROJECT=False
Environment=ALLOW_PUBLIC_PROJECT_CREATION=False
Environment=BABEL_DEFAULT_TIMEZONE=Europe/Berlin
Environment=PORT=80
Environment=SQLALCHEMY_DATABASE_URI=sqlite:////volumes/db/ihatemoney.sqlite
[Service]
Restart=always
[Install]
WantedBy=default.target

View file

@ -0,0 +1,10 @@
[Container]
Image=localhost/internet-login:latest
Network=host
Volume=%h/volumes/internet-login/config.toml:/volumes/config.toml:Z,ro
[Service]
Restart=always
[Install]
WantedBy=default.target

3
quadlet/internet-login.fish Executable file
View file

@ -0,0 +1,3 @@
#!/usr/bin/env fish
buildah build -t internet-login:latest ~/code/internet-login

View file

@ -0,0 +1,16 @@
[Unit]
Wants=network-online.target
After=network-online.target
[Container]
Image=docker.io/library/nginx:latest
AutoUpdate=registry
Network=traefik.network
Volume=%h/sync/volumes/nginx.conf:/etc/nginx/nginx.conf:z,ro
Volume=%h/volumes/juna-li-com/public:/usr/share/nginx/html:Z,ro
[Service]
Restart=always
[Install]
WantedBy=default.target

12
quadlet/juna-li-com.fish Executable file
View file

@ -0,0 +1,12 @@
#!/usr/bin/env fish
set -l container_name juna-li-com
mkdir -p ~/volumes/$container_name
podman run \
--rm \
-v ~/code/juna-li.com:/volumes/src:Z,ro \
-v ~/volumes/$container_name:/volumes/output:Z \
-w /volumes/src \
ghcr.io/getzola/zola:v0.18.0 build -o /volumes/output/public -f

11
quadlet/lldap.container Normal file
View file

@ -0,0 +1,11 @@
[Container]
Image=docker.io/nitnelave/lldap:stable
AutoUpdate=registry
Network=traefik.network
Volume=%h/volumes/lldap:/data:Z
[Service]
Restart=always
[Install]
WantedBy=default.target

View file

@ -0,0 +1,16 @@
[Unit]
Wants=network-online.target
After=network-online.target
[Container]
Image=docker.io/library/nginx:latest
AutoUpdate=registry
Network=traefik.network
Volume=%h/sync/volumes/nginx.conf:/etc/nginx/nginx.conf:z,ro
Volume=%h/volumes/mo8it-com/public:/usr/share/nginx/html:Z,ro
[Service]
Restart=always
[Install]
WantedBy=default.target

12
quadlet/mo8it-com.fish Executable file
View file

@ -0,0 +1,12 @@
#!/usr/bin/env fish
set -l container_name mo8it-com
mkdir -p ~/volumes/$container_name
podman run \
--rm \
-v ~/code/mo8it.com:/volumes/src:Z,ro \
-v ~/volumes/$container_name:/volumes/output:Z \
-w /volumes/src \
ghcr.io/getzola/zola:v0.18.0 build -o /volumes/output/public -f

View file

@ -0,0 +1,15 @@
[Container]
Image=docker.io/library/postgres:16
AutoUpdate=registry
Network=traefik.network
Volume=%h/volumes/nextcloud/postgres:/var/lib/postgresql/data:Z
EnvironmentFile=%h/volumes/nextcloud/.postgres.env
Environment=TZ=Europe/Berlin
Environment=PGTZ=Europe/Berlin
[Service]
Restart=always
[Install]
WantedBy=default.target

View file

@ -0,0 +1,19 @@
[Unit]
Wants=network-online.target
Requires=nextcloud-db.service lldap.service
After=network-online.target nextcloud-db.service lldap.service
[Container]
Image=docker.io/library/nextcloud:28-apache
AutoUpdate=registry
Network=traefik.network
Volume=%h/volumes/nextcloud/nextcloud:/var/www/html:Z
EnvironmentFile=%h/volumes/nextcloud/.postgres.env
Environment=POSTGRES_HOST=systemd-nextcloud-db
[Service]
Restart=always
[Install]
WantedBy=default.target

View file

@ -0,0 +1,15 @@
[Container]
Image=docker.io/library/postgres:16
AutoUpdate=registry
Network=traefik.network
Volume=%h/volumes/oxitraffic-corrode-dev/db:/var/lib/postgresql/data:Z
EnvironmentFile=%h/volumes/oxitraffic-corrode-dev/.postgres.env
Environment=TZ=Europe/Berlin
Environment=PGTZ=Europe/Berlin
[Service]
Restart=always
[Install]
WantedBy=default.target

View file

@ -0,0 +1,17 @@
[Unit]
Wants=network-online.target
Requires=oxitraffic-corrode-dev-db.service
After=network-online.target oxitraffic-corrode-dev-db.service
[Container]
Image=docker.io/mo8it/oxitraffic:latest
AutoUpdate=registry
Network=traefik.network
Volume=%h/volumes/oxitraffic-corrode-dev/config.toml:/volumes/config.toml:Z,ro
Volume=%h/volumes/oxitraffic-corrode-dev/logs:/var/log/oxitraffic:Z
[Service]
Restart=always
[Install]
WantedBy=default.target

View file

@ -0,0 +1,15 @@
[Container]
Image=docker.io/library/postgres:16
AutoUpdate=registry
Network=traefik.network
Volume=%h/volumes/oxitraffic/db:/var/lib/postgresql/data:Z
EnvironmentFile=%h/volumes/oxitraffic/.postgres.env
Environment=TZ=Europe/Berlin
Environment=PGTZ=Europe/Berlin
[Service]
Restart=always
[Install]
WantedBy=default.target

View file

@ -0,0 +1,17 @@
[Unit]
Wants=network-online.target
Requires=oxitraffic-db.service
After=network-online.target oxitraffic-db.service
[Container]
Image=docker.io/mo8it/oxitraffic:latest
AutoUpdate=registry
Network=traefik.network
Volume=%h/volumes/oxitraffic/config.toml:/volumes/config.toml:Z,ro
Volume=%h/volumes/oxitraffic/logs:/var/log/oxitraffic:Z
[Service]
Restart=always
[Install]
WantedBy=default.target

19
quadlet/traefik.container Normal file
View file

@ -0,0 +1,19 @@
[Unit]
Wants=network-online.target
After=network-online.target
[Container]
Image=docker.io/library/traefik:latest
AutoUpdate=registry
Network=traefik.network
PublishPort=8000:80
PublishPort=4430:443
Volume=%h/sync/volumes/traefik:/etc/traefik:Z,ro
Volume=%h/volumes/traefik/logs:/volumes/logs:Z
Volume=%h/volumes/traefik/certs:/volumes/certs:Z
[Service]
Restart=always
[Install]
WantedBy=default.target

1
quadlet/traefik.network Normal file
View file

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

View file

@ -0,0 +1,14 @@
[Unit]
Wants=network-online.target
After=network-online.target
[Container]
Image=localhost/yinghong-massage-oxiform:latest
Network=traefik.network
Volume=%h/volumes/yinghong-massage-oxiform:/volumes/data:Z
[Service]
Restart=always
[Install]
WantedBy=default.target

View file

@ -0,0 +1,3 @@
#!/usr/bin/env fish
buildah build --layers -t yinghong-massage-oxiform:latest ~/code/oxiform

View file

@ -0,0 +1,16 @@
[Unit]
Wants=network-online.target
After=network-online.target
[Container]
Image=docker.io/library/nginx:latest
AutoUpdate=registry
Network=traefik.network
Volume=%h/sync/volumes/nginx.conf:/etc/nginx/nginx.conf:z,ro
Volume=%h/volumes/yinghong-massage-de/public:/usr/share/nginx/html:Z,ro
[Service]
Restart=always
[Install]
WantedBy=default.target

View file

@ -9,12 +9,4 @@ podman run \
-v ~/code/yinghong-massage.de:/volumes/src:Z,ro \ -v ~/code/yinghong-massage.de:/volumes/src:Z,ro \
-v ~/volumes/$container_name:/volumes/output:Z \ -v ~/volumes/$container_name:/volumes/output:Z \
-w /volumes/src \ -w /volumes/src \
ghcr.io/getzola/zola:v0.18.0 build -o /volumes/output/public -f; or return 1 ghcr.io/getzola/zola:v0.18.0 build -o /volumes/output/public -f
podman-default-create \
$container_name \
--network traefik \
-v ~/sync/volumes/nginx.conf:/etc/nginx/nginx.conf:z,ro \
-v ~/volumes/$container_name/public:/usr/share/nginx/html:Z,ro \
--label "io.containers.autoupdate=registry" \
docker.io/library/nginx:latest

View file

@ -26,11 +26,6 @@ http:
average: 2 average: 2
burst: 4 burst: 4
period: 2 period: 2
webhook_ratelimit:
rateLimit:
average: 1
burst: 1
period: 3
nextcloud_dav: nextcloud_dav:
redirectRegex: redirectRegex:
regex: "^(https://nextcloud\\.mo8it\\.com)/\\.well-known/(card|cal)dav$" regex: "^(https://nextcloud\\.mo8it\\.com)/\\.well-known/(card|cal)dav$"
@ -43,9 +38,6 @@ http:
middlewares: middlewares:
- remove_www_juna_li_com - remove_www_juna_li_com
service: juna_li_com service: juna_li_com
to_advlabdb:
rule: Host(`advlabdb.mo8it.com`)
service: advlabdb
to_forgejo: to_forgejo:
rule: Host(`git.mo8it.com`) rule: Host(`git.mo8it.com`)
service: forgejo service: forgejo
@ -59,14 +51,6 @@ http:
middlewares: middlewares:
- mo8it_xyz_to_com - mo8it_xyz_to_com
service: hedgedoc service: hedgedoc
to_limesurvey:
rule: Host(`survey.mo8it.com`)
service: limesurvey
to_webhook:
rule: Host(`webhook.mo8it.com`)
middlewares:
- webhook_ratelimit
service: webhook
to_yinghong_massage_de: to_yinghong_massage_de:
rule: Host(`yinghong-massage.de`) || Host(`www.yinghong-massage.de`) rule: Host(`yinghong-massage.de`) || Host(`www.yinghong-massage.de`)
priority: 1 priority: 1
@ -88,16 +72,6 @@ http:
to_how_2_julia: to_how_2_julia:
rule: Host(`how-2-julia.mo8it.com`) rule: Host(`how-2-julia.mo8it.com`)
service: how_2_julia service: how_2_julia
to_oxiform:
rule: Host(`oxiform.mo8it.com`)
priority: 1
service: oxiform
to_oxiform_oxiform:
rule: Host(`oxiform.mo8it.com`) && PathPrefix(`/oxiform`)
priority: 2
middlewares:
- oxiform_ratelimit
service: oxiform_oxiform
to_mo8it_com: to_mo8it_com:
rule: Host(`mo8it.com`) rule: Host(`mo8it.com`)
service: mo8it_com service: mo8it_com
@ -120,83 +94,59 @@ http:
service: comprehensive_rust service: comprehensive_rust
services: services:
nginx:
loadBalancer:
servers:
- url: http://nginx
advlabdb:
loadBalancer:
servers:
- url: http://advlabdb
forgejo: forgejo:
loadBalancer: loadBalancer:
servers: servers:
- url: http://forgejo:3000 - url: http://systemd-forgejo:3000
nextcloud: nextcloud:
loadBalancer: loadBalancer:
servers: servers:
- url: http://nextcloud - url: http://systemd-nextcloud
hedgedoc: hedgedoc:
loadBalancer: loadBalancer:
servers: servers:
- url: http://hedgedoc:3000 - url: http://systemd-hedgedoc:3000
limesurvey:
loadBalancer:
servers:
- url: http://limesurvey:8080
webhook:
loadBalancer:
servers:
- url: http://webhook
yinghong_massage_oxiform: yinghong_massage_oxiform:
loadBalancer: loadBalancer:
servers: servers:
- url: http://yinghong-massage-oxiform - url: http://systemd-yinghong-massage-oxiform
ihatemoney: ihatemoney:
loadBalancer: loadBalancer:
servers: servers:
- url: http://ihatemoney - url: http://systemd-ihatemoney
lldap: lldap:
loadBalancer: loadBalancer:
servers: servers:
- url: http://lldap:17170 - url: http://systemd-lldap:17170
how_2_julia: how_2_julia:
loadBalancer: loadBalancer:
servers: servers:
- url: http://how-2-julia - url: http://systemd-how-2-julia
oxiform:
loadBalancer:
servers:
- url: http://oxiform
oxiform_oxiform:
loadBalancer:
servers:
- url: http://oxiform-oxiform
mo8it_com: mo8it_com:
loadBalancer: loadBalancer:
servers: servers:
- url: http://mo8it-com - url: http://systemd-mo8it-com
juna_li_com: juna_li_com:
loadBalancer: loadBalancer:
servers: servers:
- url: http://juna-li-com - url: http://systemd-juna-li-com
yinghong_massage_de: yinghong_massage_de:
loadBalancer: loadBalancer:
servers: servers:
- url: http://yinghong-massage-de - url: http://systemd-yinghong-massage
oxitraffic: oxitraffic:
loadBalancer: loadBalancer:
servers: servers:
- url: http://oxitraffic - url: http://systemd-oxitraffic
oxitraffic_corrode_dev: oxitraffic_corrode_dev:
loadBalancer: loadBalancer:
servers: servers:
- url: http://oxitraffic-corrode-dev - url: http://systemd-oxitraffic-corrode-dev
dev_tools: dev_tools:
loadBalancer: loadBalancer:
servers: servers:
- url: http://dev-tools - url: http://systemd-dev-tools
comprehensive_rust: comprehensive_rust:
loadBalancer: loadBalancer:
servers: servers:
- url: http://comprehensive-rust - url: http://systemd-comprehensive-rust