Files
da-HomeNetDocumentation/PI5/nextcloud.md
T

4.2 KiB

title, description, published, date, tags, editor, dateCreated
title description published date tags editor dateCreated
Nextcloud auf Raspberry PI5 Meine Installation true 2026-01-13T20:35:28.604Z nextcloud, pi5, docker, traefik, hard piece of work markdown 2026-01-13T20:33:57.688Z

Systemdokumentation: Nextcloud auf Raspberry Pi 5

Dies ist eine umfassende Systemdokumentation deiner Nextcloud-Instanz, basierend auf der erfolgreichen Fehlerbehebung und Migration vom 4. Januar 2026.


1. Systemübersicht

Das System basiert auf einer Container-Architektur (Docker), die hinter einem Traefik Reverse Proxy betrieben wird. Die Konfiguration von Traefik erfolgt über den File Provider (dynamische YAML-Dateien).

Komponenten & Versionen

Komponente Image / Version Zweck
Nextcloud nextcloud:latest (32.0.3) Hauptanwendung (PHP-Apache)
MariaDB mariadb:11.4 Datenbank (Speicherung von Metadaten)
Redis redis:7-alpine In-Memory Cache (Locking & Performance)
Traefik traefik:latest Reverse Proxy & SSL-Terminierung

2. Infrastruktur & Netzwerk

Alle Container kommunizieren über ein externes Docker-Netzwerk namens traefik.

  • Externes Netzwerk: traefik (Zuständig für die Kommunikation zwischen Proxy und App).
  • IP-Adressbereich: 172.16.0.0/12 (als Trusted Proxy in Nextcloud hinterlegt).
  • SSL-Zertifikate: Automatisiert via Let's Encrypt (DNS-01 oder HTTP-01 über Traefik).

3. Dateistruktur & Volumes

Die Daten liegen persistent auf einem externen Mount-Punkt (/mnt/data/).

Pfad auf Host Zweck
/mnt/data/nextcloud/www Nextcloud Core-Dateien & Konfiguration
/mnt/data/nextcloud/data Benutzerdaten (Dateien, Bilder, etc.)
/mnt/data/nextcloud/db MariaDB Datenbank-Dateien
/opt/compose/nextcloud/ Docker Compose & .secrets
/opt/compose/traefik/dynamic/ Traefik Routing & Middleware Konfiguration

4. Konfigurations-Details

4.1 Datenbank-Zugriff

Aufgrund der Migration eines bestehenden Dumps wurde der Datenbankbenutzer auf nextclouduser festgeschrieben. Die Authentifizierung erfolgt über Docker Secrets.

  • DB-User: nextclouduser
  • DB-Name: nextcloud
  • Secrets: Pfade liegen unter ./.secrets/ (db_user_pw, db_root_pw).

4.2 Traefik Routing (Dynamic Config)

Um Performance-Probleme und den Fehler 429 Too Many Requests zu vermeiden, wurde eine spezifische Middleware-Chain für Nextcloud erstellt.

Wichtige Middlewares:

  • chain-nextcloud: Beinhaltet Security-Headers und Kompression, verzichtet jedoch auf striktes Rate-Limiting.
  • nextcloud-dav: Regelt die Weiterleitung für CalDAV/CardDAV (.well-known redirects).

4.3 Nextcloud config.php (Auszug)

Wichtige Parameter für den Betrieb hinter Traefik:

  'overwrite.cli.url' => 'https://cloud.da.home-webserver.de',
  'overwritehost' => 'cloud.da.home-webserver.de',
  'overwriteprotocol' => 'https',
  'trusted_proxies' => ['172.16.0.0/12'],
  'dbuser' => 'nextclouduser',


5. Wartung & Fehlerbehebung

Häufige Befehle (OCC)

Da Nextcloud in einem Docker-Container läuft, müssen occ Befehle mit dem User www-data ausgeführt werden:

  • Indizes reparieren: docker exec --user www-data nextcloud php occ db:add-missing-indices
  • Wartungsmodus aus: docker exec --user www-data nextcloud php occ maintenance:mode --off
  • Upgrade durchführen: docker exec --user www-data nextcloud php occ upgrade

Backup & Restore

Ein Datenbank-Import erfolgt über die Pipe-Struktur direkt in den Container:

cat backup.sql | docker exec -i nextcloud-db mariadb -u root --password=$(cat ./.secrets/db_root_pw) nextcloud


6. Bekannte gelöste Probleme (Historie)

  • MIME-Type Fehler: Verursacht durch Traefik Rate-Limit (Status 429). Gelöst durch Entfernung des Rate-Limits für die Nextcloud-Domain.
  • Datenbank-Login: Abgleich zwischen config.php und DB-Privilegien für nextclouduser korrigiert.
  • Content Security Policy (CSP): Login-Blockade gelöst durch Setzen der overwrite-Parameter in der config.php.

Dokumentationsstand: 04. Januar 2026 Status: Aktiv / Stabil

Möchtest du, dass ich diesen Text in eine Datei namens README.md in deinem Projektordner schreibe?