---
okf: "0.1"
type: decision
visibility: private
status: active
updated: 2026-07-01
links: []
---

# Modul 1 — SSO Forgejo-OIDC (decyzja + wzorzec wpiecia)

> Fundament tozsamosci dla filaru dokumentow (i szerzej homelaba). Zapisuje decyzje
> (dzis zyje tylko "ustnie") + wzorzec wpiecia serwisu w Forgejo-OIDC.

## Cel
Udokumentowac Forgejo jako IdP + dostarczyc powtarzalny wzorzec: "jak wpiac nowy
serwis (Nextcloud/Paperless/Immich) w Forgejo-OIDC", na bazie dzialajacej Vikunji.

## Wymogi
- Zapis decyzji: Forgejo-OIDC = IdP homelaba. Always-on na PIHA. Uzasadnienie
  (mniej ruchomych czesci, sprawdzone w boju, Nextcloud/Paperless/Immich maja OIDC).
- Wzorzec rejestracji OAuth2 app w Forgejo (Settings > Applications) — kroki.
- Wzorzec konfiguracji po stronie klienta (issuer `forgejo.okit.pl/.well-known/
  openid-configuration`, client_id/secret, redirect_uri, scopes).
- Odniesienie do dzialajacej Vikunji jako wzorca referencyjnego (services/vikunja/).

## Do zweryfikowania przez CC
- Jak dokladnie Vikunja wpina sie w Forgejo (services/vikunja/config.yml, env.example,
  docker-compose.yml) — wyciagnac wzorzec.
- Co Forgejo-OIDC wystawia (scopes, claims — groups? email? username?).
- Czy Nextcloud/Paperless natywny OIDC jest kompatybilny z tym co Forgejo daje.
- Gdzie trzymac client_secret (env, nie w repo — wzorzec sekretow).

## Kryteria ukonczenia
- `docs/infra/sso-forgejo-oidc.md` (albo sekcja) z decyzja + wzorcem per-serwis.
- Wzorzec na tyle konkretny, by moduly 2/4 mogly go zastosowac bez zgadywania.
- Jasne: co idzie do env (sekrety), co do compose, co do Forgejo admin.
