Root Agent.md and stacks/forgejo/Agent.md had stale references to "docs live in iCloud, will be mirrored in M7.3". Now M7.3 is done, so the briefings point to docs/adr/ and docs/runbooks/ directly with relative links that render as clickable in the Forgejo web UI. The iCloud folder stays around for loose notes and credentials that cannot go into a public repo, but the primary source of truth for ADRs / runbooks / guides is now this repo. Refs OP#1118
2.7 KiB
2.7 KiB
Agent Briefing — Forgejo Stack
Du arbeitest am Forgejo-Git-Hosting. Lies erst ../../Agent.md am Repo-Root für globale Konventionen.
Live auf
- URL: https://code.sdda.eu
- SSH:
ssh://git@code.sdda.eu:222/<user>/<repo>.git - Server: ai-apps (Hetzner cx22, 10.0.0.8)
- Pfad auf Server:
/opt/ai-apps/forgejo/ - Live seit: 2026-04-11
- Version: Forgejo 10 (
codeberg.org/forgejo/forgejo:10)
Authentifizierung
- Primär: Nativer OIDC via Authentik (nicht ForwardAuth)
- Application in Authentik:
forgejoaufwelcome.sdda.eu - Zugangskontrolle: Gruppen-Policy
forgejo-userserforderlich - Launch-URL:
https://code.sdda.eu/user/oauth2/authentik(für Silent SSO aus Authentik-Dashboard) - Fallback: lokaler
admin-localUser mitprohibit_login=true(Emergency) - Siehe ADR-0003 (OIDC statt ForwardAuth), ADR-0006 (Silent-SSO-Launch-URL)
Kritische Gotchas
- Volume-Mount auf
/data, NICHT/var/lib/gitea. Forgejo schreibt alles nach/data. Siehe ADR-0005. - SSH-Port-Kollision: Forgejo-Image hat system-sshd auf 22, deshalb Forgejos eigener Server auf Container-Port 2222 → Host-Port 222.
- OIDC-Config lebt in der Postgres-DB (Tabelle
login_source), NICHT inapp.ini. Zum Ändern:docker exec -u git forgejo sh -c 'cd / && forgejo admin auth update-oauth --id 1 ...' forgejo adminCLI braucht-u gitundcd /:docker exec -u git forgejo sh -c 'cd / && forgejo admin user list'- User-Promotion zum Admin via SQL am saubersten:
UPDATE "user" SET is_admin = true WHERE lower_name = 'NAME';
Ops-Kommandos
ssh ai-apps
cd /opt/ai-apps/forgejo
# Status
docker compose ps
docker logs forgejo --tail 50
# Restart
docker compose restart forgejo
# Update (Major-Version manuell, Tag auf :10 gepinnt)
docker compose pull
docker compose up -d
# Backup manuell
bash backup.sh
# User-Verwaltung
docker exec -u git forgejo sh -c 'cd / && forgejo admin user list'
docker exec forgejo-db psql -U forgejo -d forgejo \
-c "UPDATE \"user\" SET is_admin = true WHERE lower_name = 'NAME';"
Backup
- Script:
backup.shin diesem Ordner (spiegelt/opt/ai-apps/forgejo/backup.sh) - Cron:
0 3 * * *auf ai-apps →/opt/backups/forgejo/ - Retention: 14 Tage
- Format:
forgejo-db-<ts>.sql.gz+forgejo-data-<ts>.tar.gz - Offsite: noch nicht (Tier 2 via rclone → Nextcloud geplant M7.5)
- Restore-Prozedur: siehe
../../docs/runbooks/forgejo-backup-restore.md
Related
../../Agent.md— Repo-weites Briefing../../docs/architecture/ai-apps-stacks.md— Server-Kontext- ADRs 0001-0006 in
../../docs/adr/(gespiegelt in M7.3)