Drei Stellen zeigten noch auf 'sorb/Backlogs' auf Gitea. Das Repo heisst seit dem Framework-Umbau 'management' und ist kanonisch auf git.lab (ADR-0001/0002); der alte Pfad loest nur noch per 301 auf. Ausserdem verwies der Backlog-Eintrag auf eine Datei, obwohl offene Punkte seit ADR-0005 Issues sind. - CFGMON-09 -> management#10 (verlinkt, statt nur zitiert) - 'Backlog: Repo sorb/Backlogs' -> Issues auf git.lab + hosts/cfgmon.md - 'Backlogs CFGMON-11' -> als erledigt datiert; dafuer gibt es kein Issue, die Arbeit war beim Umzug schon abgeschlossen - Nebenbei 'sorb/threadnet-operating' -> 'axion1337.chat/threadnet-operating' (Gitea-Pfad, kanonisch ist die Lab-Gruppe) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PKhFj1S3UdD6xL2fbWPeYj
thread-net-git — Traefik + Gitea + cAdvisor (CFGMON)
Infrastruktur-Repo für den Kern-Stack auf dem Operating-Host (CFGMON,
rohana.axion1337.de). Abgelöst aus dem unversionierten Portainer-Stack
(Stack-ID 8) am 2026-07-30 — siehe Backlog CFGMON-02.
| Dienst | Image | Zweck |
|---|---|---|
| reverse-proxy | traefik:v3.7.9 | TLS-Terminierung für ALLE Dienste des Hosts (auch Grafana aus dem monitoring-Stack) |
| gitea | gitea/gitea:1.27.0 | Git-Hosting, rohana.axion1337.de |
| cadvisor | cadvisor:v0.49.1 | Container-Metriken für Prometheus (monitoring-Stack) |
Unumstößliche Regeln
- Projektname
thread-net-gitnie ändern (name:in der Compose). Das Gitea-Datenvolumen heißtthread-net-git_gitea-dataund ist alsexternaldeklariert — bei falschem Namen bricht der Deploy laut ab. - Volumes
thread-net-git_gitea-dataundthread-net-git_letsencryptniemals löschen. Ersteres sind die Produktivdaten (Repos, SQLite-DB, LFS, SSH-Hostkeys), letzteres enthältacme.json— eine Zertifikats- Neuausstellung scheitert an der Firewall (80/443 nur für User-IP offen). - Gitea nie auf eine ältere Version pinnen — SQLite-Schema kennt kein Downgrade. Upgrades: Minor-Schritte, vorher Backup (s.u.).
- Diesen Stack nie wieder über Portainer anfassen. Portainer identifiziert Ressourcen über den Compose-Projektnamen; ein „Stack löschen" dort würde die laufenden Container entfernen.
Deploy
cd /opt/thread-net-git
docker network create traefik # falls noch nicht vorhanden
docker compose up -d
Erst-Deploy auf frischem Host (letsencrypt-Volume noch leer):
docker compose up --no-start # legt Volumes/Container an
# acme.json aus Backup einspielen (Rechte 600, root:root):
docker run --rm -v thread-net-git_letsencrypt:/dst -v /opt/backup:/src alpine \
sh -c 'cp /src/acme-<datum>.json /dst/acme.json && chmod 600 /dst/acme.json'
docker compose up -d
Runner (entfernt 2026-08-01)
Der Gitea-Actions-Runner builder-1 wurde im Zuge des CI-Umzugs ins Homelab-GitLab
zurückgebaut (CFGMON-11, erledigt 2026-08-01): alle Workflows laufen jetzt in der Lab-CI, die
Gitea-Actions-Toggles der Repos sind deaktiviert. Beim nächsten Deploy dieses Stacks
verschwindet der Runner-Container; zusätzlich einmalig auf dem Host: builder-1 in der
Gitea-Admin-UI deregistrieren und runner-data/ löschen.
Backup & Restore
Warm-Backup: nächtlich um 03:17 per Cron des Users rantanplan
(backup/gitea-backup.sh, Log: /opt/backup/backup.log).
Derzeit pausiert (Cron auskommentiert, seit 2026-07-30): die Backups
sollen off-host in ein Borg-Repo auf einer Storage Box, bis dahin bleibt
der letzte Dump vom 2026-07-30 liegen — siehe
management#10
(CFGMON-09). Das Skript
stoppt kurz den Runner (SQLite-Journal-Race bei gitea dump), streamt
den Dump ohne Zwischenkopie (gitea dump --type tar -f - | gzip) und
behält nur den neuesten Stand auf dem Host — die 38-G-Platte trägt
nicht mehr. Manuell: einfach das Skript ausführen.
Restore auf frischem Host: Volume thread-net-git_gitea-data anlegen,
Dump-Zip entpacken (gitea-repo.zip → /data/git/repositories,
gitea-db.sql importieren bzw. gitea.db aus data/ übernehmen,
app.ini nach /data/gitea/conf/), dann Stack deployen. Details:
https://docs.gitea.com/administration/backup-and-restore
Off-Host-Kopie nicht vergessen — ein Backup auf demselben Host schützt
nicht vor Plattenverlust:
scp -P 2248 rantanplan@188.245.193.243:/opt/backup/gitea-dump-<datum>.tar.gz .
Bezüge
- Monitoring-Stack (Grafana/Prometheus/Loki): Repo
axion1337.chat/threadnet-operating, Checkout/opt/threadnet-operating. Prometheus scraptcadvisor:8080undtraefik:8080aus diesem Stack über das gemeinsame externetraefik-Netz. - Offene Punkte: Issues im
management-Projekt auf
git.lab (ADR-0005); Bestand und Historie zum Host in
hosts/cfgmon.md. - Gitea-Konfiguration (
app.inimit Secrets) liegt bewusst NICHT im Repo, sondern nur im Datenvolumen; Änderungen viaGITEA__section__KEY-Env-Vars in der Compose.