kb/services/nextcloud.md (Stack, WebDAV dla ingestu, Storage i backup) kb/decisions/nextcloud-host-piha.md (decyzja: host = PIHA) kb/runbooks/nextcloud-cutover.md (OIDC przez Forgejo + cutover checklist) Tresc sekcji nietknieta; kontrola multizbioru linii == oryginal. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2.5 KiB
2.5 KiB
| okf | type | visibility | status | updated | links | ||
|---|---|---|---|---|---|---|---|
| 0.1 | runbook | private | active | 2026-07-09 |
|
Nextcloud — OIDC i cutover checklist
OIDC przez Forgejo (krok po-deployowy, occ)
Mechanizm: oficjalna appka user_oidc (utrzymywana przez Nextcloud GmbH —
wybieramy ją zamiast community sociallogin). Konfiguruje się ją przez occ
po pierwszym starcie — NIE przez env, stąd kroki w checkliście:
# w kontenerze nextcloud, jako www-data:
docker exec -u www-data nextcloud php occ app:install user_oidc
docker exec -u www-data nextcloud php occ user_oidc:provider forgejo \
--clientid="<CLIENT_ID>" \
--clientsecret="<CLIENT_SECRET>" \
--discoveryuri="https://forgejo.kapala.org/.well-known/openid-configuration" \
--scope="openid profile email" \
--unique-uid=0 \
--mapping-display-name=name --mapping-email=email --mapping-uid=preferred_username
Rejestracja w Forgejo (Settings → Applications, wzorzec jak Vikunja):
- Redirect URI:
https://cloud.kapala.org/apps/user_oidc/code - Confidential client; scope
openid profile email
forgejo.kapala.org jest przypięte w compose przez extra_hosts do
192.168.31.5 (npm@PIHA) — OIDC discovery po LAN, lekcja z Vikunji.
--unique-uid=0 + mapping preferred_username daje czytelne loginy
(np. oskar) zamiast hashowanych ID — istotne dla WebDAV-owych URL-i.
Cutover checklist (przy deployu — NIE teraz)
- Host = PIHA (decyzja podjęta);
LAN_BIND_IP/TRUSTED_PROXIESw.envjuż pod nią —TRUSTED_PROXIESdoprecyzować przezdocker network inspectna żywym hoście (patrz komentarz wenv.example). - Port wolny na żywym hoście:
ss -tlnp | grep 8220. mkdir -p /opt/homelab/data/nextcloud/{html,db}na PIHA..envzenv.example.- DNS: rekord A
cloud.kapala.orgw Cloudflare →100.108.208.3(Tailscale PIHA, DNS Only) — ten sam wzorzec coha.kapala.org/immich.kapala.org(docs/sessions/2026-06-30-kapala-cloudflare-wildcard-mesh.md); wildcard*.kapala.orgjuż pokrywa tę subdomenę, nowy cert niepotrzebny. Plus vhost w npm@PIHA (HTTPS →192.168.31.5:8220, Advanced puste). docker compose up -d; pierwszy start instaluje NC (2–3 min), potem./healthcheck.sh.- Kroki
occdlauser_oidc(wyżej) + rejestracja appki w Forgejo + testowy login OIDC. - Test sync klientem (telefon) + test WebDAV (
curl -u user:app-password). - Wpis w
hosts/<node>/services.yaml+ topology (dopiero przy deployu).