From ddd9f069ea391ffca6ab149b8d09bd0c94333779 Mon Sep 17 00:00:00 2001 From: mo8it Date: Sat, 30 Dec 2023 15:55:16 +0100 Subject: [PATCH] Migrate to Quadlet --- containers/comprehensive_rust.fish | 15 ---- containers/dev_tools.fish | 15 ---- containers/forgejo.fish | 12 --- containers/hedgedoc.fish | 48 ------------ containers/how_2_julia.fish | 11 --- containers/ihatemoney.fish | 18 ----- containers/internet_login.fish | 12 --- containers/juna_li.fish | 20 ----- containers/lldap.fish | 11 --- containers/mo8it.com.fish | 20 ----- containers/nextcloud.fish | 35 --------- containers/oxiform.fish | 11 --- containers/oxiform_oxiform.fish | 12 --- containers/oxitraffic.fish | 25 ------ containers/oxitraffic_corrode_dev.fish | 25 ------ containers/rustdesk.fish | 35 --------- containers/traefik.fish | 22 ------ containers/ttyd.fish | 27 ------- containers/yinghong_massage_oxiform.fish | 12 --- quadlet/comprehensive-rust.container | 16 ++++ quadlet/comprehensive-rust.fish | 7 ++ quadlet/dev-tools.container | 16 ++++ quadlet/dev-tools.fish | 7 ++ quadlet/forgejo.container | 17 ++++ quadlet/hedgedoc-db.container | 17 ++++ quadlet/hedgedoc.container | 33 ++++++++ quadlet/how-2-julia.container | 16 ++++ quadlet/ihatemoney.container | 23 ++++++ quadlet/internet-login.container | 10 +++ quadlet/internet-login.fish | 3 + quadlet/juna-li-com.container | 16 ++++ quadlet/juna-li-com.fish | 12 +++ quadlet/lldap.container | 11 +++ quadlet/mo8it-com.container | 16 ++++ quadlet/mo8it-com.fish | 12 +++ quadlet/nextcloud-db.container | 15 ++++ quadlet/nextcloud.container | 19 +++++ quadlet/oxitraffic-corrode-dev-db.container | 15 ++++ quadlet/oxitraffic-corrode-dev.container | 17 ++++ quadlet/oxitraffic-db.container | 15 ++++ quadlet/oxitraffic.container | 17 ++++ quadlet/traefik.container | 19 +++++ quadlet/traefik.network | 1 + quadlet/yinghong-massage-oxiform.container | 14 ++++ quadlet/yinghong-massage-oxiform.fish | 3 + quadlet/yinghong-massage.container | 16 ++++ .../yinghong-massage.fish | 10 +-- volumes/traefik/dynamic.yml | 78 ++++--------------- 48 files changed, 398 insertions(+), 459 deletions(-) delete mode 100755 containers/comprehensive_rust.fish delete mode 100755 containers/dev_tools.fish delete mode 100755 containers/forgejo.fish delete mode 100755 containers/hedgedoc.fish delete mode 100755 containers/how_2_julia.fish delete mode 100755 containers/ihatemoney.fish delete mode 100755 containers/internet_login.fish delete mode 100755 containers/juna_li.fish delete mode 100755 containers/lldap.fish delete mode 100755 containers/mo8it.com.fish delete mode 100755 containers/nextcloud.fish delete mode 100755 containers/oxiform.fish delete mode 100755 containers/oxiform_oxiform.fish delete mode 100755 containers/oxitraffic.fish delete mode 100755 containers/oxitraffic_corrode_dev.fish delete mode 100755 containers/rustdesk.fish delete mode 100755 containers/traefik.fish delete mode 100755 containers/ttyd.fish delete mode 100755 containers/yinghong_massage_oxiform.fish create mode 100644 quadlet/comprehensive-rust.container create mode 100755 quadlet/comprehensive-rust.fish create mode 100644 quadlet/dev-tools.container create mode 100755 quadlet/dev-tools.fish create mode 100644 quadlet/forgejo.container create mode 100644 quadlet/hedgedoc-db.container create mode 100644 quadlet/hedgedoc.container create mode 100644 quadlet/how-2-julia.container create mode 100644 quadlet/ihatemoney.container create mode 100644 quadlet/internet-login.container create mode 100755 quadlet/internet-login.fish create mode 100644 quadlet/juna-li-com.container create mode 100755 quadlet/juna-li-com.fish create mode 100644 quadlet/lldap.container create mode 100644 quadlet/mo8it-com.container create mode 100755 quadlet/mo8it-com.fish create mode 100644 quadlet/nextcloud-db.container create mode 100644 quadlet/nextcloud.container create mode 100644 quadlet/oxitraffic-corrode-dev-db.container create mode 100644 quadlet/oxitraffic-corrode-dev.container create mode 100644 quadlet/oxitraffic-db.container create mode 100644 quadlet/oxitraffic.container create mode 100644 quadlet/traefik.container create mode 100644 quadlet/traefik.network create mode 100644 quadlet/yinghong-massage-oxiform.container create mode 100755 quadlet/yinghong-massage-oxiform.fish create mode 100644 quadlet/yinghong-massage.container rename containers/yinghong_massage.fish => quadlet/yinghong-massage.fish (51%) diff --git a/containers/comprehensive_rust.fish b/containers/comprehensive_rust.fish deleted file mode 100755 index 1746c9e..0000000 --- a/containers/comprehensive_rust.fish +++ /dev/null @@ -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 diff --git a/containers/dev_tools.fish b/containers/dev_tools.fish deleted file mode 100755 index dea1561..0000000 --- a/containers/dev_tools.fish +++ /dev/null @@ -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 diff --git a/containers/forgejo.fish b/containers/forgejo.fish deleted file mode 100755 index 9e8b03a..0000000 --- a/containers/forgejo.fish +++ /dev/null @@ -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 diff --git a/containers/hedgedoc.fish b/containers/hedgedoc.fish deleted file mode 100755 index 33df7eb..0000000 --- a/containers/hedgedoc.fish +++ /dev/null @@ -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 diff --git a/containers/how_2_julia.fish b/containers/how_2_julia.fish deleted file mode 100755 index d03c28c..0000000 --- a/containers/how_2_julia.fish +++ /dev/null @@ -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 diff --git a/containers/ihatemoney.fish b/containers/ihatemoney.fish deleted file mode 100755 index faffcef..0000000 --- a/containers/ihatemoney.fish +++ /dev/null @@ -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 diff --git a/containers/internet_login.fish b/containers/internet_login.fish deleted file mode 100755 index 5e3a75b..0000000 --- a/containers/internet_login.fish +++ /dev/null @@ -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 diff --git a/containers/juna_li.fish b/containers/juna_li.fish deleted file mode 100755 index 9fae695..0000000 --- a/containers/juna_li.fish +++ /dev/null @@ -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 diff --git a/containers/lldap.fish b/containers/lldap.fish deleted file mode 100755 index 5b047cf..0000000 --- a/containers/lldap.fish +++ /dev/null @@ -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 diff --git a/containers/mo8it.com.fish b/containers/mo8it.com.fish deleted file mode 100755 index de90556..0000000 --- a/containers/mo8it.com.fish +++ /dev/null @@ -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 diff --git a/containers/nextcloud.fish b/containers/nextcloud.fish deleted file mode 100755 index 9236442..0000000 --- a/containers/nextcloud.fish +++ /dev/null @@ -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 diff --git a/containers/oxiform.fish b/containers/oxiform.fish deleted file mode 100755 index f82d543..0000000 --- a/containers/oxiform.fish +++ /dev/null @@ -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 diff --git a/containers/oxiform_oxiform.fish b/containers/oxiform_oxiform.fish deleted file mode 100755 index f0b814e..0000000 --- a/containers/oxiform_oxiform.fish +++ /dev/null @@ -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 diff --git a/containers/oxitraffic.fish b/containers/oxitraffic.fish deleted file mode 100755 index 5357b17..0000000 --- a/containers/oxitraffic.fish +++ /dev/null @@ -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 diff --git a/containers/oxitraffic_corrode_dev.fish b/containers/oxitraffic_corrode_dev.fish deleted file mode 100755 index dfabc7d..0000000 --- a/containers/oxitraffic_corrode_dev.fish +++ /dev/null @@ -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 diff --git a/containers/rustdesk.fish b/containers/rustdesk.fish deleted file mode 100755 index dc72606..0000000 --- a/containers/rustdesk.fish +++ /dev/null @@ -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 _ diff --git a/containers/traefik.fish b/containers/traefik.fish deleted file mode 100755 index d56f846..0000000 --- a/containers/traefik.fish +++ /dev/null @@ -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 diff --git a/containers/ttyd.fish b/containers/ttyd.fish deleted file mode 100755 index bd953f8..0000000 --- a/containers/ttyd.fish +++ /dev/null @@ -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 diff --git a/containers/yinghong_massage_oxiform.fish b/containers/yinghong_massage_oxiform.fish deleted file mode 100755 index 6b7c80b..0000000 --- a/containers/yinghong_massage_oxiform.fish +++ /dev/null @@ -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 diff --git a/quadlet/comprehensive-rust.container b/quadlet/comprehensive-rust.container new file mode 100644 index 0000000..7747518 --- /dev/null +++ b/quadlet/comprehensive-rust.container @@ -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 diff --git a/quadlet/comprehensive-rust.fish b/quadlet/comprehensive-rust.fish new file mode 100755 index 0000000..c129cd3 --- /dev/null +++ b/quadlet/comprehensive-rust.fish @@ -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 diff --git a/quadlet/dev-tools.container b/quadlet/dev-tools.container new file mode 100644 index 0000000..771973e --- /dev/null +++ b/quadlet/dev-tools.container @@ -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 diff --git a/quadlet/dev-tools.fish b/quadlet/dev-tools.fish new file mode 100755 index 0000000..3b4b0e8 --- /dev/null +++ b/quadlet/dev-tools.fish @@ -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 diff --git a/quadlet/forgejo.container b/quadlet/forgejo.container new file mode 100644 index 0000000..c703712 --- /dev/null +++ b/quadlet/forgejo.container @@ -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 diff --git a/quadlet/hedgedoc-db.container b/quadlet/hedgedoc-db.container new file mode 100644 index 0000000..9ef5d1f --- /dev/null +++ b/quadlet/hedgedoc-db.container @@ -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 diff --git a/quadlet/hedgedoc.container b/quadlet/hedgedoc.container new file mode 100644 index 0000000..b1d557c --- /dev/null +++ b/quadlet/hedgedoc.container @@ -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 diff --git a/quadlet/how-2-julia.container b/quadlet/how-2-julia.container new file mode 100644 index 0000000..67cd825 --- /dev/null +++ b/quadlet/how-2-julia.container @@ -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 diff --git a/quadlet/ihatemoney.container b/quadlet/ihatemoney.container new file mode 100644 index 0000000..2c1c379 --- /dev/null +++ b/quadlet/ihatemoney.container @@ -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 diff --git a/quadlet/internet-login.container b/quadlet/internet-login.container new file mode 100644 index 0000000..bf9310e --- /dev/null +++ b/quadlet/internet-login.container @@ -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 diff --git a/quadlet/internet-login.fish b/quadlet/internet-login.fish new file mode 100755 index 0000000..0245309 --- /dev/null +++ b/quadlet/internet-login.fish @@ -0,0 +1,3 @@ +#!/usr/bin/env fish + +buildah build -t internet-login:latest ~/code/internet-login diff --git a/quadlet/juna-li-com.container b/quadlet/juna-li-com.container new file mode 100644 index 0000000..76e39e1 --- /dev/null +++ b/quadlet/juna-li-com.container @@ -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 diff --git a/quadlet/juna-li-com.fish b/quadlet/juna-li-com.fish new file mode 100755 index 0000000..3abb32e --- /dev/null +++ b/quadlet/juna-li-com.fish @@ -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 diff --git a/quadlet/lldap.container b/quadlet/lldap.container new file mode 100644 index 0000000..1c6fc21 --- /dev/null +++ b/quadlet/lldap.container @@ -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 diff --git a/quadlet/mo8it-com.container b/quadlet/mo8it-com.container new file mode 100644 index 0000000..6e1acba --- /dev/null +++ b/quadlet/mo8it-com.container @@ -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 diff --git a/quadlet/mo8it-com.fish b/quadlet/mo8it-com.fish new file mode 100755 index 0000000..3388d6b --- /dev/null +++ b/quadlet/mo8it-com.fish @@ -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 diff --git a/quadlet/nextcloud-db.container b/quadlet/nextcloud-db.container new file mode 100644 index 0000000..869b7e9 --- /dev/null +++ b/quadlet/nextcloud-db.container @@ -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 diff --git a/quadlet/nextcloud.container b/quadlet/nextcloud.container new file mode 100644 index 0000000..9df748a --- /dev/null +++ b/quadlet/nextcloud.container @@ -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 diff --git a/quadlet/oxitraffic-corrode-dev-db.container b/quadlet/oxitraffic-corrode-dev-db.container new file mode 100644 index 0000000..0927b96 --- /dev/null +++ b/quadlet/oxitraffic-corrode-dev-db.container @@ -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 diff --git a/quadlet/oxitraffic-corrode-dev.container b/quadlet/oxitraffic-corrode-dev.container new file mode 100644 index 0000000..e6addd6 --- /dev/null +++ b/quadlet/oxitraffic-corrode-dev.container @@ -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 diff --git a/quadlet/oxitraffic-db.container b/quadlet/oxitraffic-db.container new file mode 100644 index 0000000..04a1c61 --- /dev/null +++ b/quadlet/oxitraffic-db.container @@ -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 diff --git a/quadlet/oxitraffic.container b/quadlet/oxitraffic.container new file mode 100644 index 0000000..4ea4984 --- /dev/null +++ b/quadlet/oxitraffic.container @@ -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 diff --git a/quadlet/traefik.container b/quadlet/traefik.container new file mode 100644 index 0000000..17d3fbc --- /dev/null +++ b/quadlet/traefik.container @@ -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 diff --git a/quadlet/traefik.network b/quadlet/traefik.network new file mode 100644 index 0000000..264f70a --- /dev/null +++ b/quadlet/traefik.network @@ -0,0 +1 @@ +[Network] diff --git a/quadlet/yinghong-massage-oxiform.container b/quadlet/yinghong-massage-oxiform.container new file mode 100644 index 0000000..3a9d5be --- /dev/null +++ b/quadlet/yinghong-massage-oxiform.container @@ -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 diff --git a/quadlet/yinghong-massage-oxiform.fish b/quadlet/yinghong-massage-oxiform.fish new file mode 100755 index 0000000..02d68c6 --- /dev/null +++ b/quadlet/yinghong-massage-oxiform.fish @@ -0,0 +1,3 @@ +#!/usr/bin/env fish + +buildah build --layers -t yinghong-massage-oxiform:latest ~/code/oxiform diff --git a/quadlet/yinghong-massage.container b/quadlet/yinghong-massage.container new file mode 100644 index 0000000..06eb522 --- /dev/null +++ b/quadlet/yinghong-massage.container @@ -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 diff --git a/containers/yinghong_massage.fish b/quadlet/yinghong-massage.fish similarity index 51% rename from containers/yinghong_massage.fish rename to quadlet/yinghong-massage.fish index 5727834..901c570 100755 --- a/containers/yinghong_massage.fish +++ b/quadlet/yinghong-massage.fish @@ -9,12 +9,4 @@ podman run \ -v ~/code/yinghong-massage.de:/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 + ghcr.io/getzola/zola:v0.18.0 build -o /volumes/output/public -f diff --git a/volumes/traefik/dynamic.yml b/volumes/traefik/dynamic.yml index b737eae..056c329 100644 --- a/volumes/traefik/dynamic.yml +++ b/volumes/traefik/dynamic.yml @@ -26,11 +26,6 @@ http: average: 2 burst: 4 period: 2 - webhook_ratelimit: - rateLimit: - average: 1 - burst: 1 - period: 3 nextcloud_dav: redirectRegex: regex: "^(https://nextcloud\\.mo8it\\.com)/\\.well-known/(card|cal)dav$" @@ -43,9 +38,6 @@ http: middlewares: - remove_www_juna_li_com service: juna_li_com - to_advlabdb: - rule: Host(`advlabdb.mo8it.com`) - service: advlabdb to_forgejo: rule: Host(`git.mo8it.com`) service: forgejo @@ -59,14 +51,6 @@ http: middlewares: - mo8it_xyz_to_com 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: rule: Host(`yinghong-massage.de`) || Host(`www.yinghong-massage.de`) priority: 1 @@ -88,16 +72,6 @@ http: to_how_2_julia: rule: Host(`how-2-julia.mo8it.com`) 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: rule: Host(`mo8it.com`) service: mo8it_com @@ -120,83 +94,59 @@ http: service: comprehensive_rust services: - nginx: - loadBalancer: - servers: - - url: http://nginx - advlabdb: - loadBalancer: - servers: - - url: http://advlabdb forgejo: loadBalancer: servers: - - url: http://forgejo:3000 + - url: http://systemd-forgejo:3000 nextcloud: loadBalancer: servers: - - url: http://nextcloud + - url: http://systemd-nextcloud hedgedoc: loadBalancer: servers: - - url: http://hedgedoc:3000 - limesurvey: - loadBalancer: - servers: - - url: http://limesurvey:8080 - webhook: - loadBalancer: - servers: - - url: http://webhook + - url: http://systemd-hedgedoc:3000 yinghong_massage_oxiform: loadBalancer: servers: - - url: http://yinghong-massage-oxiform + - url: http://systemd-yinghong-massage-oxiform ihatemoney: loadBalancer: servers: - - url: http://ihatemoney + - url: http://systemd-ihatemoney lldap: loadBalancer: servers: - - url: http://lldap:17170 + - url: http://systemd-lldap:17170 how_2_julia: loadBalancer: servers: - - url: http://how-2-julia - oxiform: - loadBalancer: - servers: - - url: http://oxiform - oxiform_oxiform: - loadBalancer: - servers: - - url: http://oxiform-oxiform + - url: http://systemd-how-2-julia mo8it_com: loadBalancer: servers: - - url: http://mo8it-com + - url: http://systemd-mo8it-com juna_li_com: loadBalancer: servers: - - url: http://juna-li-com + - url: http://systemd-juna-li-com yinghong_massage_de: loadBalancer: servers: - - url: http://yinghong-massage-de + - url: http://systemd-yinghong-massage oxitraffic: loadBalancer: servers: - - url: http://oxitraffic + - url: http://systemd-oxitraffic oxitraffic_corrode_dev: loadBalancer: servers: - - url: http://oxitraffic-corrode-dev + - url: http://systemd-oxitraffic-corrode-dev dev_tools: loadBalancer: servers: - - url: http://dev-tools + - url: http://systemd-dev-tools comprehensive_rust: loadBalancer: servers: - - url: http://comprehensive-rust + - url: http://systemd-comprehensive-rust