- Dankserver stack: RomM, Copyparty, Calibre-Web, node-exporter - Dankclaw stack: Gluetun VPN (SearXNG tunnel), SearXNG+Valkey, ComfyUI (CPU backend), OpenWebUI, Hermes, Gitea+Postgres (migrated), Caddy reverse proxy, Grafana+Prometheus+Loki+Alloy observability - Caddyfiles with .local hostname convention and basicauth homepage - bind-mount storage policy, no named volumes - deploy.sh mirroring vllmScripts git workflow (push -> pull -> restart -> health) - docs/ Obsidian vault: per-service docs from frank-default-small research subagents (promtail EOL -> Alloy; gitea SECRET_KEY preservation; ComfyUI --cpu) - bats test suite at 6 seams — 22 tests green
2.1 KiB
2.1 KiB
Gitea
Gitea is a lightweight self-hosted Git service with issues, pull requests, and a web UI. It already runs on Dankclaw as a podman-compose stack at /opt/gitea/ and is being migrated into this repository.
Host: Dankclaw — Hostname: gitea.dankclaw.local — Port: 3001 — Docs: https://docs.gitea.com
Facts (from live inventory + knowledge base)
| Item | Value |
|---|---|
| Image | docker.io/gitea/gitea:latest |
| DB image | docker.io/library/postgres:16-alpine |
| Gitea port | 3000 → 3001 (host, proxied) |
| SSH port | 2222 → 22 (host) |
| DB | postgres on the podman network (internal 5432) |
| Current location | /opt/gitea/podman-compose.yml on Dankclaw |
Migration Plan
- Copy the live
/opt/gitea/podman-compose.ymlintodankclaw/compose.yaml(redacted: secrets moved to.env). - Keep the bind-mount data at
/opt/gitea/data/so repos survive. - Commit the compose, push, and pull on Dankclaw.
- Replace the live stack by bringing up the repo-managed compose.
Env (from the live compose, redacted)
environment:
DATABASE_TYPE: postgres
DATABASE_HOST: postgres
DATABASE_NAME: gitea
DATABASE_USER: gitea
DATABASE_PASSWD: "${GITEA_DB_PASSWORD}" # from .env, never committed
USER_UID: "1000"
USER_GID: "1000"
Volumes
| Container path | Host path (live) |
|---|---|
/data |
/opt/gitea/data/gitea-gitea |
/var/lib/postgresql/data |
/opt/gitea/data/gitea-postgres |
/root/.local/share/caddy |
/opt/gitea/data/caddy/data |
Healthcheck
Gitea serves /api/v1/version and the web UI on /.
Backup
Back up /opt/gitea/data/ (tar) or pg_dump the gitea database. See the knowledge base page Gitea Data Persistence.
Gotchas
- The live compose contains a real DB password — never commit it (test-enforced).
- Gitea and postgres both run as UID 1000; keep the bind mounts owned by
dank. - DNS
gitea.franksdank.cloud→ 71.227.227.172 is pending; the LAN hostname works now.
See Also
- Dankclaw Stack
- Knowledge base: Gitea (tools), Gitea Data Persistence, Gitea Architecture