fix: gitea boot persistence via quadlet (incident 2026-08-16)
unattended-upgrades rebooted dankclaw at 15:01; the legacy podman-compose gitea stack had no systemd units, so rootless podman did not auto-start the containers. Gitea was down ~1 hour. - add quadlet units (dankclaw/gitea/quadlet/): gitea-postgres, gitea-server, gitea-caddy + gitea.network (DNS enabled; the default rootless podman network has dns_enabled=false) - add gitea stack Caddyfile (upstream gitea-server:3000) and .env.example; live password stays in /opt/gitea/.env (0600) - fix latent name bugs in main stack config: DATABASE_HOST gitea-postgres, Caddyfile upstream gitea-server - docs: rewrite Gitea page for the quadlet stack (management, boot persistence, secrets, gotchas, incident log); fix port 3000 in stack table; Postgres connection notes - legacy compose retired on target to /opt/gitea/.deprecated/
This commit is contained in:
1 parent
1e9d921b95
commit
04112e88e6
11 files changed
+198
-45
No files matched your search
@@ -0,0 +1,31 @@
|
||||
# Quadlet unit: Gitea Caddy reverse proxy (rootless, boot-persistent).
|
||||
#
|
||||
# Install path on dankclaw: ~/.config/containers/systemd/gitea-caddy.container
|
||||
# Unit name: gitea-caddy.service (podman 5.x drops the container- prefix)
|
||||
#
|
||||
# Serves gitea.franksdank.cloud (public domain, DNS pending). The LAN
|
||||
# reaches Gitea directly on port 3000. This file holds no secrets.
|
||||
# See docs/Dankclaw/Gitea.md.
|
||||
|
||||
[Unit]
|
||||
Description=Gitea Caddy reverse proxy container
|
||||
Wants=gitea-server.service
|
||||
After=gitea-server.service network.target
|
||||
|
||||
[Container]
|
||||
ContainerName=gitea-caddy
|
||||
Network=gitea.network
|
||||
Image=docker.io/library/caddy:latest
|
||||
PublishPort=80:80
|
||||
PublishPort=443:443
|
||||
Volume=/opt/gitea/data/caddy/Caddyfile:/etc/caddy/Caddyfile
|
||||
Volume=/opt/gitea/data/caddy/site:/srv
|
||||
Volume=/opt/gitea/data/caddy/config:/config
|
||||
Volume=/opt/gitea/data/caddy/data:/root/.local/share/caddy
|
||||
|
||||
[Service]
|
||||
TimeoutStartSec=900
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
Reference in new issue
Block a user