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

# Modul 4 — Nextcloud (drive/WebDAV + OIDC)

> Drugi adapter dokumentow: zamiennik Google Drive, dowolne pliki + sync. Zrodlo
> dla ingestu (WebDAV). Zalezy od: 0 (odchudzic PIHA), 1 (SSO).

## Cel
Postawic Nextcloud jako self-hosted Drive — pliki + sync z telefonu/desktopu,
dostep LAN/Tailscale, login przez Forgejo-OIDC. Zrodlo dokumentow dla ingestu (modul 5).

## Wymogi
- `services/nextcloud/` — docker-compose.yml + service.yaml.
- Komponenty: nextcloud (PHP-fpm+apache/nginx), baza (postgres/mariadb), redis (cache).
- **OIDC** przez Forgejo (wzorzec z modulu 1). App user_oidc / social login.
- **Ingress LAN-only** przez npm@PIHA (NIE public). Subdomena np. cloud.kapala.org
  -> Tailscale/LAN, DNS Only. WebDAV endpoint osiagalny dla ingestu (modul 5).
- **Archiwum = KOPIA** (z hybrydy kb-02): pliki w Nextcloud znikaja/zmieniaja sie,
  wiec ingest robi SNAPSHOT do archiwum KB przy imporcie. Nextcloud NIE jest zrodlem
  prawdy (w przeciwienstwie do Paperless=referencja).

## HOST — decyzja do rozstrzygniecia (otwarta w kb-02)
Nextcloud ciezszy niz Paperless-serwis (PHP+baza+storage sync). PIHA juz ciasno
(nawet po odchudzeniu). SKLONNOSC: **SOLARIA** — bo:
- drive nie musi byc always-on tak twardo jak indeks KB (pliki sync sie gdy wroci online;
  KB-kopia i tak jest w archiwum na PIHA, wiec zapytania dzialaja bez Nextcloud)
- SOLARIA ma miejsce (315G) i RAM (62Gi) na storage+PHP
- ALE: sync z telefonu przerywany gdy SOLARIA spi (do akceptacji — sync sie dogoni)
CC ma zweryfikowac obciazenie i potwierdzic host (SOLARIA vs PIHA) faktami.

## Do zweryfikowania przez CC
- Realne zuzycie RAM/CPU Nextcloud + baza pod normalnym uzyciem.
- OIDC w Nextcloud: app `user_oidc` vs `sociallogin` — ktory, jak przeciw Forgejo.
- WebDAV endpoint dla ingestu (modul 5) — sciezka, auth (app-password? OIDC token?).
- Jesli host=SOLARIA: jak ingress LAN dziala gdy SOLARIA za npm@PIHA (proxy do
  Tailscale IP SOLARII) — czy npm@PIHA moze proxowac do innego node.
- Storage: gdzie pliki (SOLARIA nvme?), jak backup (mniej krytyczny bo Nextcloud=kopia,
  ale user data warto).

## Kryteria ukonczenia
- Nextcloud dziala, login przez Forgejo-OIDC, dostep LAN/Tailscale (nie public).
- Sync klient (telefon/desktop) dziala.
- WebDAV osiagalny dla ingestu (modul 5).
- Host potwierdzony faktami (SOLARIA vs PIHA).
- W GitOps: services/nextcloud/ + hosts/<node>/services.yaml + topology.
