1.**Volume-Mount auf `/data`**, NICHT `/var/lib/gitea`. Forgejo schreibt alles nach `/data`. Siehe ADR-0005.
2.**SSH-Port-Kollision:** Forgejo-Image hat system-sshd auf 22, deshalb Forgejos eigener Server auf Container-Port 2222 → Host-Port 222.
3.**OIDC-Config lebt in der Postgres-DB** (Tabelle `login_source`), NICHT in `app.ini`. Zum Ändern: `docker exec -u git forgejo sh -c 'cd / && forgejo admin auth update-oauth --id 1 ...'`
4.**`forgejo admin` CLI** braucht `-u git` und `cd /`: `docker exec -u git forgejo sh -c 'cd / && forgejo admin user list'`
5.**User-Promotion zum Admin** via SQL am saubersten: `UPDATE "user" SET is_admin = true WHERE lower_name = 'NAME';`
6.**Neuer OIDC-User → broken Avatar:** Authentik liefert das Avatar als `data:image/svg+xml;base64,...` Claim, Forgejo kann das nicht speichern → `drawImage` crasht auf Activity-Seite. Siehe ADR-0007. Fix nach jedem neuen First-Login:
```sql
UPDATE "user" SET avatar = '', use_custom_avatar = false