feat: initialize serverAppConfigs with podman stacks for Dankserver and Dankclaw
- 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
This commit is contained in:
commit
e3eb5334cb
57 files changed
+3033
No files matched your search
@@ -0,0 +1,63 @@
|
||||
# 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
|
||||
|
||||
1. Copy the live `/opt/gitea/podman-compose.yml` into `dankclaw/compose.yaml` (redacted: secrets moved to `.env`).
|
||||
2. Keep the bind-mount data at `/opt/gitea/data/` so repos survive.
|
||||
3. Commit the compose, push, and pull on Dankclaw.
|
||||
4. Replace the live stack by bringing up the repo-managed compose.
|
||||
|
||||
## Env (from the live compose, redacted)
|
||||
|
||||
```yaml
|
||||
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]]
|
||||
Reference in new issue
Block a user