Migrate to Quadlet
This commit is contained in:
parent
334ff80a36
commit
ddd9f069ea
48 changed files with 398 additions and 459 deletions
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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 _
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
16
quadlet/comprehensive-rust.container
Normal file
16
quadlet/comprehensive-rust.container
Normal 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
|
7
quadlet/comprehensive-rust.fish
Executable file
7
quadlet/comprehensive-rust.fish
Executable 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
|
16
quadlet/dev-tools.container
Normal file
16
quadlet/dev-tools.container
Normal 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
7
quadlet/dev-tools.fish
Executable 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
17
quadlet/forgejo.container
Normal 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
|
17
quadlet/hedgedoc-db.container
Normal file
17
quadlet/hedgedoc-db.container
Normal 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
|
33
quadlet/hedgedoc.container
Normal file
33
quadlet/hedgedoc.container
Normal 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
|
16
quadlet/how-2-julia.container
Normal file
16
quadlet/how-2-julia.container
Normal 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
|
23
quadlet/ihatemoney.container
Normal file
23
quadlet/ihatemoney.container
Normal 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
|
10
quadlet/internet-login.container
Normal file
10
quadlet/internet-login.container
Normal 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
3
quadlet/internet-login.fish
Executable file
|
@ -0,0 +1,3 @@
|
|||
#!/usr/bin/env fish
|
||||
|
||||
buildah build -t internet-login:latest ~/code/internet-login
|
16
quadlet/juna-li-com.container
Normal file
16
quadlet/juna-li-com.container
Normal 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
12
quadlet/juna-li-com.fish
Executable 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
11
quadlet/lldap.container
Normal 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
|
16
quadlet/mo8it-com.container
Normal file
16
quadlet/mo8it-com.container
Normal 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
12
quadlet/mo8it-com.fish
Executable 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
|
15
quadlet/nextcloud-db.container
Normal file
15
quadlet/nextcloud-db.container
Normal 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
|
19
quadlet/nextcloud.container
Normal file
19
quadlet/nextcloud.container
Normal 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
|
15
quadlet/oxitraffic-corrode-dev-db.container
Normal file
15
quadlet/oxitraffic-corrode-dev-db.container
Normal 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
|
17
quadlet/oxitraffic-corrode-dev.container
Normal file
17
quadlet/oxitraffic-corrode-dev.container
Normal 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
|
15
quadlet/oxitraffic-db.container
Normal file
15
quadlet/oxitraffic-db.container
Normal 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
|
17
quadlet/oxitraffic.container
Normal file
17
quadlet/oxitraffic.container
Normal 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
19
quadlet/traefik.container
Normal 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
1
quadlet/traefik.network
Normal file
|
@ -0,0 +1 @@
|
|||
[Network]
|
14
quadlet/yinghong-massage-oxiform.container
Normal file
14
quadlet/yinghong-massage-oxiform.container
Normal 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
|
3
quadlet/yinghong-massage-oxiform.fish
Executable file
3
quadlet/yinghong-massage-oxiform.fish
Executable file
|
@ -0,0 +1,3 @@
|
|||
#!/usr/bin/env fish
|
||||
|
||||
buildah build --layers -t yinghong-massage-oxiform:latest ~/code/oxiform
|
16
quadlet/yinghong-massage.container
Normal file
16
quadlet/yinghong-massage.container
Normal 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
|
|
@ -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
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue