Files
command-center/omp-docs/tools/gitea/index.md
T
Frank 8b87b5ae1a docs(dedupe): one owner for the finish rule, and the Gitea index routes instead of restating
Two independent copies of the same law, and each page cited its own numbers. The finish rule —
stop when independent sources agree, when the retrieval budget is spent, or when every claim is
met; report gaps, never invent a source — stood in full in `agentic-search-best-practices.md`
(with the loop caps: 20 steps, re-plan every 4) and again in `research-effectiveness.md` without
them. The operational page owns it; the measurement page keeps the pointer and the one thing
that is its business, which is that unbounded loops are why "infinite re-search" is a named
failure mode.

`tools/gitea/index.md` was a second copy of its own directory: an architecture table, a
management command table, a data-persistence path table and a boot-persistence paragraph, every
one of them a subset of `architecture.md`, `management.md` and `data-persistence.md` — verified
line by line before cutting, including the two facts that looked unique to the index (the
`dns_enabled: false` default network, the `/opt/gitea` leftover) and turn out to be owned
upstream with more detail. The index now answers "which page owns my question" and gives three
one-line orientation facts. Gitea's live version was re-read while I was in there: still 1.27.3.

Refs #64
2026-10-21 02:24:11 -07:00

43 lines
2.5 KiB
Markdown

# Gitea on dankclaw
Private Git hosting on dankclaw. Two quadlet-managed containers in the rootless podman session of user `dank`: Gitea and PostgreSQL, sharing a dedicated network unit. The former `gitea-caddy` container is **retired** — the canonical fleet Caddy (`caddy.service`, see [/caddy/index.md](/caddy/index.md)) fronts `gitea.franksdank.cloud`; do not recreate the retired unit.
**Host:** dankclaw (192.168.0.143 LAN)
**Config:** `~/.config/containers/systemd/gitea-{postgres,server}.container` + `gitea.network`
**Local access:** `http://dankclaw:3000` — Gitea 1.27.3 (`/api/v1/version`, re-read 2026-10-21)
**Domain:** `https://gitea.franksdank.cloud` (live; served by fleet Caddy, DNS-01 TLS)
## What lives where
| Question | Owner |
|---|---|
| Containers, unit names, network topology, ports, env wiring | [architecture](architecture.md) |
| Start / stop / logs / upgrade; boot persistence (linger + `[Install] WantedBy=default.target`); incident log | [management](management.md) |
| Data layout on host bind mounts, UID ownership, backup and restore, the `/opt/gitea` leftover | [data-persistence](data-persistence.md) |
| Token-based HTTP access from clients, the credential store, git 2.56 store-format trap | [client-access](client-access.md) |
One-line answers, so you know which row to open:
* **Two containers** (`gitea-server` :3000/:2222, `gitea-postgres` internal) plus a quadlet
network unit, all in user `dank`'s rootless session.
* **Data survives everything**: host bind mounts under `/home/dank/Containers/gitea/`, env file
mode 0600; stopping a unit removes its container and the next start recreates it.
* **Boot**: user linger for `dank` plus `[Install] WantedBy=default.target` on each unit — no
login session required. The podman-compose stack had neither and did not survive a reboot
(2026-08-16, written up in [management](management.md)).
This index used to carry its own copies of all four pages' tables. They went: a second copy of
an operational table is a future contradiction, and every one of them was already a subset.
## Repo Copies
The quadlet files and `.env` templates are tracked in the `serverAppConfigs` deploy repo; the
sibling vault page `Infrastructure/Gitea.md` (in `~/Projects/serverAppConfig/serverAppConfigs-docs/`)
is the deploy-side source of truth. Secrets live only on the host under `Containers/gitea/`
(mode 0600), never in either docs tree.
## See Also
* [Dankclaw](/system/dankclaw.md) — the host, and its container census.
* [Caddy](/caddy/index.md) — the fleet edge proxy that fronts `gitea.franksdank.cloud`.