Files
docs/proxmox/nextcloud-install.md

3.6 KiB

Hier ist die zusammengefasste Dokumentation für dein Setup. Diese Datei kannst du dir als Backup oder Spickzettel abspeichern.


Nextcloud OIDC Installation & Keycloak Setup

Diese Anleitung dokumentiert die erfolgreiche Konfiguration von Nextcloud (im Podman-Container) mit Keycloak als Identitätsanbieter (SSO) auf einem N100-System unter Proxmox.

1. Keycloak Konfiguration

In der Keycloak-Admin-Konsole wurde ein Client für Nextcloud erstellt.

  • Client-ID: nextcloud

  • Root-URL: [https://nextcloud.ghostnet.selfhost.eu](https://nextcloud.ghostnet.selfhost.eu)

  • Valid Redirect URIs:

  • [https://nextcloud.ghostnet.selfhost.eu/apps/user_oidc/code](https://nextcloud.ghostnet.selfhost.eu/apps/user_oidc/code)

  • [https://nextcloud.ghostnet.selfhost.eu/index.php/apps/user_oidc/code](https://nextcloud.ghostnet.selfhost.eu/index.php/apps/user_oidc/code)

  • Backchannel Logout URL: [https://nextcloud.ghostnet.selfhost.eu/apps/user_oidc/backchannel-logout/](https://nextcloud.ghostnet.selfhost.eu/apps/user_oidc/backchannel-logout/)


2. Nextcloud OIDC App Einstellungen

Innerhalb von Nextcloud wurde die App "OpenID Connect" (user_oidc) installiert und wie folgt konfiguriert:

  • Identifier: Keycloak
  • Discovery Endpoint: [https://auth.ghostnet.selfhost.eu/realms/Ghost.net/.well-known/openid-configuration](https://auth.ghostnet.selfhost.eu/realms/Ghost.net/.well-known/openid-configuration)
  • User-ID Mapping: preferred_username
  • Display Name Mapping: name
  • Email Mapping: email

3. Erzwingen des Keycloak-Logins (CLI)

Um das Standard-Login-Formular zu deaktivieren und eine automatische Weiterleitung zu Keycloak zu erzwingen, wurden folgende Befehle im Nextcloud-LXC ausgeführt:

# 1. Den automatischen Redirect aktivieren
podman exec -u www-data nextcloud-app php occ config:app:set user_oidc auto_redirect --value="1"

# 2. Den Standard-Login ausblenden
podman exec -u www-data nextcloud-app php occ config:app:set user_oidc hide_default_login --value="1"

# 3. Den primären OIDC-Provider festlegen
podman exec -u www-data nextcloud-app php occ config:app:set user_oidc setup_provider --value="Keycloak"

# 4. Mehrere Backends deaktivieren (Zwingt zum Redirect)
podman exec -u www-data nextcloud-app php occ config:app:set user_oidc allow_multiple_user_backends --value="0"

# 5. Container neu starten, um Cache zu leeren
podman restart nextcloud-app


4. Sicherheits-Einstellungen (config.php)

Um sicherzustellen, dass Nextcloud den Login-Prozess nicht unterbricht, wurde folgender Parameter in der config/config.php gesetzt:

'allow_user_to_login_with_apps' => false,

(Diesen Wert haben wir via OCC-Befehl gesetzt: podman exec -u www-data nextcloud-app php occ config:system:set allow_user_to_login_with_apps --value=false --type=bool)


5. Notfall-Login (Bypass)

Sollte Keycloak nicht erreichbar sein oder die OIDC-Konfiguration Probleme bereiten, kann der Standard-Login (lokaler Admin) jederzeit über folgende URL erzwungen werden:

URL: [https://nextcloud.ghostnet.selfhost.eu/login?direct=1](https://nextcloud.ghostnet.selfhost.eu/login?direct=1)


6. Wartung & Fehlerbehebung

Falls Änderungen an den Providern vorgenommen werden müssen, kann die aktuelle Konfiguration wie folgt ausgelesen werden:

  • Provider-Liste anzeigen: podman exec -u www-data nextcloud-app php occ user_oidc:providers
  • App-Konfiguration prüfen: podman exec -u www-data nextcloud-app php occ config:app:get user_oidc

Status: Läuft produktiv auf Proxmox/Podman.