30 KiB
Kapitel 6 – Nextcloud (Premium)
Einleitung
Bisher ist die Nextcloud vollständig eingerichtet und für den täglichen Einsatz bereit.
Im Premium-Kapitel erweitern wir dieses stabile Grundsystem um praktische Automatisierungen,
zusätzliche Leistungsoptimierungen und Komfortfunktionen, die den Betrieb langfristig vereinfachen.
Alle Erweiterungen bauen direkt auf deiner bestehenden Installation auf.
Du musst nichts neu einrichten, sondern ergänzt gezielt einzelne Funktionen,
damit deine Cloud im Alltag zuverlässiger arbeitet und sich viele Aufgaben selbst erledigen.
Note
Premium bedeutet im UCC-Tutorial keine höhere Schwierigkeit.
Es bleibt bei verständlichen Schritt-für-Schritt-Anleitungen, die direkt in deiner Umgebung funktionieren.
Themen dieses Kapitels
-
Automatische Sicherung der Datenbank und Konfiguration
– tägliche Backups inklusive Protokollierung -
Automatische Löschung älterer Sicherungen
– hält den Speicherplatz sauber, ohne manuelles Eingreifen -
Wiederherstellung eines Backups
– komplette Rücksicherung der Instanz in wenigen Schritten -
Mail-Benachrichtigung bei Backup-Ergebnissen
– automatische Info über erfolgreiche oder fehlerhafte Sicherungen -
php.ini- und www.conf-Tuning
– höhere Performance, größere Uploads und längere Skriptlaufzeiten -
Redis-Optimierung
– stabileres Locking, schnelleres Caching und geringere Latenz -
Externe Speicher-Mounts in Nextcloud
– zusätzliche Laufwerke, Netzfreigaben oder externe Cloud-Speicher einbinden -
SFTP-Upload-Integration
– automatisches Hochladen von Dateien in entfernte Server oder Container -
Preview-Cache optimieren
– Vorschaugenerierung beschleunigen und Speicherverbrauch reduzieren -
Abschluss & Ergebnis
– Übersicht aller Optimierungen, Routinen und Wartungstipps
👉 Screenshot geeignet: Nextcloud-Dashboard mit aktivem Cron-Job und geöffnetem Systemstatus.
Automatische Sicherung der Datenbank und Konfiguration
Ein verlässliches Backup ist die wichtigste Grundlage für einen stabilen Nextcloud-Betrieb.
Ziel ist eine automatische tägliche Sicherung der Datenbank und Konfigurationsdateien –
vollständig ohne manuelle Eingriffe.
So bleiben alle Benutzer, Freigaben und Systemeinstellungen jederzeit wiederherstellbar.
Ziel
- Automatische tägliche Sicherung der Datenbank und Konfiguration
- Speicherung der Backups mit Datum im Dateinamen
- Protokollierung des Ablaufs in einer Logdatei
- Keine Unterbrechung des laufenden Betriebs
Tip
Die Sicherung läuft regelmäßig im Hintergrund und legt für jeden Tag ein separates Archiv an.
Damit hast du jederzeit Zugriff auf ältere Stände, falls du versehentlich etwas gelöscht oder geändert hast.
Sicherungsskript anlegen
Melde dich per SSH im Nextcloud-Container an und öffne den Editor:
nano /usr/local/bin/nextcloud_backup.sh
Füge den folgenden Inhalt ein:
#!/bin/bash
#
# nextcloud_backup.sh
# Erstellt ein tägliches Backup der Nextcloud-Datenbank und -Konfiguration
#
BACKUP_DIR="/mnt/hdd/nextcloud_backups"
DATE=$(date +'%Y-%m-%d_%H-%M')
DB_NAME="nextcloud"
DB_USER="nextcloud"
DB_PASS="DEIN_SICHERES_PASSWORT"
NC_PATH="/srv/nextcloud/app/nextcloud"
LOGFILE="/var/log/nextcloud_backup.log"
mkdir -p "$BACKUP_DIR"
echo "[$(date +'%d.%m.%Y %H:%M:%S')] Backup gestartet" >> "$LOGFILE"
# Datenbank sichern
pg_dump -U "$DB_USER" "$DB_NAME" > "$BACKUP_DIR/db_${DATE}.sql"
# Konfiguration und App-Verzeichnis sichern
tar -czf "$BACKUP_DIR/config_${DATE}.tar.gz" \
"$NC_PATH/config" \
"$NC_PATH/themes" \
"$NC_PATH/custom_apps"
echo "[$(date +'%d.%m.%Y %H:%M:%S')] Backup abgeschlossen" >> "$LOGFILE"
Datei speichern mit STRG+O, Enter, und mit STRG+X schließen.
Anschließend ausführbar machen:
chmod +x /usr/local/bin/nextcloud_backup.sh
Note
Das Skript legt alle Backups unter
/mnt/hdd/nextcloud_backupsab.
Jedes Backup enthält eine Datenbanksicherung und die wichtigsten Konfigurationsdateien.
Automatische Ausführung einrichten
Damit das Backup regelmäßig läuft, hinterlegen wir das Skript im Cron-Dienst des Containers.
crontab -e
Ganz unten einfügen:
0 3 * * * /usr/local/bin/nextcloud_backup.sh
Tip
Diese Zeile führt das Backup täglich um 03:00 Uhr aus.
Du kannst den Zeitpunkt anpassen, z. B.0 2 * * *für 02:00 Uhr.
Speichern: STRG+O, Enter
Beenden: STRG+X
Ergebnis prüfen
Nach der ersten Ausführung kannst du prüfen, ob das Backup funktioniert hat:
ls -lh /mnt/hdd/nextcloud_backups
Du solltest zwei neue Dateien sehen, z. B.:
db_2025-10-05_03-00.sql
config_2025-10-05_03-00.tar.gz
Das Protokoll kannst du mit folgendem Befehl anzeigen:
tail -n 20 /var/log/nextcloud_backup.log
Tip
Wenn du die Sicherung sofort testen möchtest, führe das Skript einmal manuell aus:
/usr/local/bin/nextcloud_backup.shSo siehst du direkt im Terminal, ob PostgreSQL und alle Pfade korrekt funktionieren.
👉 Screenshot geeignet: Terminal mit Ausgabe von ls -lh /mnt/hdd/nextcloud_backups und tail -n 20 /var/log/nextcloud_backup.log.
Automatische Löschung älterer Sicherungen
Damit der Speicherplatz auf deiner Festplatte nicht durch alte Backups überläuft,
ergänzen wir das Sicherungsskript um eine automatische Löschfunktion.
Diese entfernt Sicherungen, die älter als eine bestimmte Anzahl von Tagen sind.
So bleibt der Backup-Ordner sauber, ohne dass du manuell eingreifen musst.
Ziel
- Ältere Sicherungen automatisch löschen
- Zeitraum frei wählbar (z. B. 30 Tage)
- Log-Eintrag für jede gelöschte Datei
Tip
30 Tage sind ein bewährter Zeitraum, um genug Sicherungen vorzuhalten und trotzdem Speicherplatz zu sparen.
Du kannst die Zahl aber jederzeit anpassen – sie ist direkt im Skript konfigurierbar.
Skript anpassen
Öffne das Sicherungsskript erneut:
nano /usr/local/bin/nextcloud_backup.sh
Ergänze am Ende des Skripts folgende Zeilen unterhalb des letzten echo-Befehls:
# Alte Backups löschen (älter als 30 Tage)
find "$BACKUP_DIR" -type f -mtime +30 -print -delete >> "$LOGFILE" 2>&1
echo "[$(date +'%d.%m.%Y %H:%M:%S')] Alte Backups (älter als 30 Tage) gelöscht" >> "$LOGFILE"
Speichern mit STRG+O, Enter, und beenden mit STRG+X.
Funktionsweise
finddurchsucht den Backup-Ordner nach Dateien, die älter als 30 Tage sind (-mtime +30).- Diese Dateien werden gelöscht, und die Dateinamen werden im Log vermerkt.
- Der Befehl läuft jedes Mal mit, wenn das Backup gestartet wird.
Note
Du kannst den Zeitraum flexibel anpassen – etwa
-mtime +14für zwei Wochen
oder-mtime +60für zwei Monate Aufbewahrungszeit.
Achte darauf, dass der Befehl immer am Ende des Skripts steht,
damit erst das neue Backup erstellt und danach aufgeräumt wird.
Überprüfung
Um zu sehen, ob die Bereinigung funktioniert, kannst du sie manuell testen:
bash /usr/local/bin/nextcloud_backup.sh
Danach prüfst du das Log:
tail -n 20 /var/log/nextcloud_backup.log
Wenn dort Einträge wie
Alte Backups (älter als 30 Tage) gelöscht
erscheinen, funktioniert die Automatik korrekt.
👉 Screenshot geeignet: Logdatei mit Hinweis auf gelöschte Backups und aktuelle Sicherung.
Wiederherstellung eines Backups
Eine Sicherung ist nur so gut, wie ihre Wiederherstellung funktioniert.
In diesem Abschnitt stellen wir sicher, dass du im Notfall deine komplette Nextcloud
– inklusive Datenbank, Konfiguration und App-Einstellungen – schnell und zuverlässig wiederherstellen kannst.
Ziel
- Wiederherstellung der Nextcloud-Datenbank und Konfigurationsdateien
- Schritt-für-Schritt-Ablauf ohne Risiko
- Funktioniert sowohl nach Datenverlust als auch bei Migration auf neue Hardware
Important
Du kannst die Wiederherstellung jederzeit in einer Testumgebung üben.
So weißt du im Ernstfall genau, welche Schritte nötig sind, und vermeidest Fehler unter Zeitdruck.
Vorbereitung
- Nextcloud-Dienst stoppen, damit keine Schreibvorgänge stattfinden:
systemctl stop nginx systemctl stop php8.3-fpm systemctl stop redis-server systemctl stop postgresql - Backup-Verzeichnis prüfen:
Wähle das gewünschte Sicherungsdatum, z. B.
ls -lh /mnt/hdd/nextcloud_backupsdb_2025-10-05_03-00.sqlundconfig_2025-10-05_03-00.tar.gz.
Wiederherstellung der Datenbank
- PostgreSQL starten:
systemctl start postgresql - Bestehende Datenbank löschen und neu anlegen:
su - postgres psql -c "DROP DATABASE nextcloud;" psql -c "CREATE DATABASE nextcloud;" psql -c "GRANT ALL PRIVILEGES ON DATABASE nextcloud TO nextcloud;" exit - Datenbankinhalt wiederherstellen:
psql -U nextcloud -d nextcloud < /mnt/hdd/nextcloud_backups/db_2025-10-05_03-00.sql
Note
Wenn du mehrere Backups im Ordner hast, kannst du natürlich auch ein älteres Datum verwenden.
Ersetze einfach den Dateinamen im Befehl durch die gewünschte Sicherung.
Wiederherstellung der Konfiguration
-
Alte Konfiguration entfernen (optional, falls beschädigt):
rm -rf /srv/nextcloud/app/nextcloud/config rm -rf /srv/nextcloud/app/nextcloud/themes rm -rf /srv/nextcloud/app/nextcloud/custom_apps -
Archiv entpacken:
tar -xzf /mnt/hdd/nextcloud_backups/config_2025-10-05_03-00.tar.gz -C /Dadurch werden die gesicherten Ordner wieder an ihre ursprüngliche Position kopiert.
-
Berechtigungen prüfen:
chown -R www-data:www-data /srv/nextcloud/app/nextcloud chmod -R 750 /srv/nextcloud/app/nextcloud
Neustart der Dienste
Nach der Wiederherstellung startest du die Dienste wieder:
systemctl start redis-server
systemctl start php8.3-fpm
systemctl start nginx
Tip
Wenn du möchtest, kannst du vor dem Neustart mit
systemctl status nginx php8.3-fpm redis-server postgresqlprüfen, ob alle Dienste fehlerfrei bereitstehen.
Überprüfung
Öffne im Browser deine Nextcloud-URL, z. B.:
https://cloud.DEINE-DOMAIN.tld
Du solltest dich mit deinem bestehenden Benutzer anmelden können
und dieselben Dateien, Freigaben und Einstellungen wie vor dem Backup sehen.
Note
Wenn der Login nicht sofort funktioniert, leere den Browser-Cache oder führe einen Neustart des Containers durch.
Danach ist die Instanz wieder vollständig betriebsbereit.
👉 Screenshot geeignet: Terminal mit erfolgreicher Datenbank-Wiederherstellung und Nextcloud-Login im Browser.
Mail-Benachrichtigung bei Backup-Ergebnissen
Nextcloud verfügt über eine eigene Mailfunktion, die Systemmeldungen und Benachrichtigungen automatisch verschicken kann.
Diese Funktion nutzen wir auch für die Information über erfolgreiche oder fehlgeschlagene Backups.
Damit entfällt die manuelle Prüfung der Logdateien – du wirst direkt per E-Mail informiert, wenn etwas schiefgeht.
Ziel
- Automatische E-Mail-Benachrichtigung bei fehlerhaften oder erfolgreichen Backups
- Keine zusätzlichen Programme oder Konfigurationen außerhalb von Nextcloud
- Nutzung der integrierten SMTP-Funktion in der Weboberfläche
Einrichtung in Nextcloud
-
Anmelden als Administrator
Melde dich in deiner Nextcloud unterhttps://cloud.DEINE-DOMAIN.tldmit deinem Admin-Konto an.
-
Mail-Server öffnen
Klicke oben rechts auf dein Profilbild → Einstellungen → Verwaltung → Grundlegende Einstellungen.
Scrolle bis zum Abschnitt E-Mail-Server. -
SMTP-Daten eintragen
- Versandmethode: SMTP
- Verschlüsselung: STARTTLS
- Authentifizierung: aktivieren
- Absenderadresse: z. B.
nextcloud@DEINE-DOMAIN.tld - Benutzername und Passwort: Zugangsdaten deines Mailkontos
- SMTP-Server: z. B.
mail.DEINE-DOMAIN.tld - Port: 587
👉 Screenshot geeignet: Nextcloud-Einstellungen → E-Mail-Server mit ausgefüllten SMTP-Daten.
-
Testmail senden
Klicke auf E-Mail-Versand testen.
Wenn alles funktioniert, erscheint die Meldung „E-Mail erfolgreich gesendet.“
Note
Einige Mailanbieter – etwa Google, GMX oder Outlook – verlangen für externe Anwendungen ein App-Passwort,
das du im Kundenportal generieren kannst.
Trage in diesem Fall das App-Passwort statt deines normalen Logins ein.
Aktivierung der Benachrichtigungen
Damit du über Systemereignisse informiert wirst:
- Öffne in der Weboberfläche oben rechts das Glocken-Symbol (Benachrichtigungen).
- Klicke unten auf Einstellungen.
- Aktiviere Systemmeldungen per E-Mail erhalten.
Nextcloud verschickt dann automatisch eine Nachricht,
wenn Cronjobs oder interne Prozesse (wie das Backup-Skript) Fehler melden.
Damit bleibst du informiert, ohne externe Tools zu benötigen.
👉 Screenshot geeignet: Benachrichtigungsmenü mit aktivierter Option „Systemmeldungen per E-Mail erhalten“.
php.ini- und www.conf-Tuning
Nextcloud arbeitet mit PHP-FPM – das bedeutet, dass alle Webanfragen durch einen PHP-Prozess laufen.
Damit große Uploads, wie z. B. VODs oder Projektarchive, problemlos übertragen werden können,
passen wir die wichtigsten PHP-Parameter an.
Das betrifft die Dateien php.ini (globale Werte) und www.conf (Prozesssteuerung).
Note
Diese Optimierungen sind speziell für Systeme gedacht, die große Mediendateien verarbeiten.
Sie verbessern Stabilität und Performance deutlich – ohne, dass du mehr Hardware benötigst.
Ziel
- Große Datei-Uploads bis 50 GB ermöglichen
- PHP-Cache optimieren für schnellere Ladezeiten
- Parallelverarbeitung von Anfragen stabilisieren
php.ini anpassen
Öffne die globale PHP-Konfiguration:
nano /etc/php/8.3/fpm/php.ini
Suche und passe folgende Parameter an:
upload_max_filesize = 50G
post_max_size = 50G
memory_limit = 2048M
max_execution_time = 7200
max_input_time = 7200
date.timezone = Europe/Berlin
opcache.enable = 1
opcache.memory_consumption = 256
opcache.max_accelerated_files = 20000
opcache.interned_strings_buffer = 16
opcache.validate_timestamps = 1
Tip
Für Nextcloud ist es unkritisch, große Werte zu setzen –
sie gelten nur, wenn tatsächlich große Dateien übertragen werden.
max_execution_timeundmax_input_timesichern lange Uploads gegen Abbrüche ab.
Speichern: STRG+O, Enter
Beenden: STRG+X
www.conf anpassen
Die Datei www.conf bestimmt, wie viele PHP-Prozesse gleichzeitig arbeiten dürfen.
Das ist wichtig, wenn viele Uploads oder Vorschaugenerierungen parallel laufen.
nano /etc/php/8.3/fpm/pool.d/www.conf
Passe folgende Werte an:
pm = dynamic
pm.max_children = 25
pm.start_servers = 5
pm.min_spare_servers = 3
pm.max_spare_servers = 10
pm.max_requests = 500
; Pfadvariable setzen (wichtig für OCC-Befehle)
env[PATH] = /usr/local/bin:/usr/bin:/bin
Note
Diese Werte sind auf Container mit 8–16 GB RAM ausgelegt.
Wenn du mehr Ressourcen hast, kannst dupm.max_childrenentsprechend erhöhen.
Bei kleineren Containern (z. B. 4 GB RAM) ist ein Wert zwischen 10–15 sinnvoll.
Anschließend PHP-FPM neu laden:
systemctl reload php8.3-fpm
Wirkung prüfen
- Öffne in Nextcloud Einstellungen → Verwaltung → Übersicht.
- Wenn keine Warnungen mehr zu Speicher- oder Upload-Limits erscheinen, greifen die neuen Werte.
- Optional prüfen:
systemctl status php8.3-fpm
Tip
Diese Optimierung wirkt sich nicht nur auf Uploads aus,
sondern beschleunigt auch App-Installationen und Dateioperationen innerhalb von Nextcloud.
👉 Screenshot geeignet: Nextcloud-Adminbereich mit angepassten PHP-Limits ohne Warnmeldungen.
Redis-Optimierung
Redis ist in Nextcloud der zentrale Zwischenspeicher für häufig genutzte Daten,
z. B. Session-Informationen, Datei-Locks und Cache-Einträge.
Dadurch entfällt bei jedem Seitenaufruf ein Großteil der Datenbankabfragen –
Nextcloud reagiert schneller und stabiler, besonders bei mehreren gleichzeitigen Zugriffen.
Im Free-Teil haben wir Redis bereits eingerichtet.
Hier optimieren wir seine Leistung und verhindern, dass alte Cache-Einträge unkontrolliert wachsen.
Note
Diese Anpassungen sind besonders sinnvoll, wenn du mehrere Benutzer hast oder große Datenmengen mit häufigen Dateioperationen verarbeitest.
Ziel
- Stabileres File-Locking und schnellerer Seitenaufbau
- Automatische Speicherbereinigung bei hohem Redis-Füllstand
- Kürzere Zugriffszeiten durch gezieltes Feintuning
Redis-Konfiguration prüfen
Öffne die Redis-Konfiguration:
nano /etc/redis/redis.conf
Suche und ändere bzw. ergänze folgende Zeilen:
# Redis durch systemd verwalten lassen
supervised systemd
# Socket statt TCP-Port nutzen (schneller und sicherer)
unixsocket /var/run/redis/redis-server.sock
unixsocketperm 770
# Maximalen Speicherbedarf festlegen (Beispiel: 256 MB)
maxmemory 256mb
# Alte Schlüssel entfernen, wenn Speicher voll ist
maxmemory-policy allkeys-lru
# Hintergrund-Speicherung aktivieren
save 900 1
save 300 10
save 60 10000
Tip
maxmemory 256mbist ein stabiler Wert für Container mit 4–8 GB RAM.
Wenn du viele gleichzeitige Benutzer hast, kannst du auf 512 MB erhöhen.
Speichern: STRG+O, Enter
Beenden: STRG+X
Redis neu starten:
systemctl restart redis-server
Socket-Rechte prüfen
Redis kommuniziert mit Nextcloud über einen UNIX-Socket.
Damit Nextcloud darauf zugreifen darf, muss der Webserver-Benutzer (www-data) Mitglied der Redis-Gruppe sein:
usermod -aG redis www-data
systemctl restart php8.3-fpm
Note
Diese Einstellung brauchst du nur einmal vorzunehmen.
Sie bleibt auch nach einem Neustart erhalten.
Redis-Status testen
Mit folgendem Befehl kannst du prüfen, ob Redis läuft und korrekt eingebunden ist:
redis-cli -s /var/run/redis/redis-server.sock ping
Die Ausgabe sollte lauten:
PONG
Wenn stattdessen eine Fehlermeldung erscheint (z. B. „Permission denied“),
stimmen die Socketrechte oder Gruppenmitgliedschaften noch nicht.
Tip
In Nextcloud selbst kannst du unter
Einstellungen → Verwaltung → Übersicht
sehen, ob Redis erkannt wurde.
Wenn dort keine Warnung zu „Transactional File Locking“ mehr erscheint, funktioniert alles korrekt.
👉 Screenshot geeignet: Terminalausgabe mit „PONG“ und Nextcloud-Adminbereich ohne Redis-Warnmeldung.
Externe Speicher in Nextcloud einbinden
Nextcloud kann auch Daten anzeigen, die gar nicht im normalen Cloud-Ordner liegen.
So kannst du zum Beispiel deine Videodateien, Projektordner oder große Backups
auf einer zweiten Festplatte ablegen und trotzdem direkt in Nextcloud darauf zugreifen.
Das spart Speicher im Hauptordner und macht die Übersicht deutlich einfacher –
besonders, wenn du regelmäßig große Dateien (z. B. VODs) nutzt.
Note
Du musst dafür keine neue Festplatte kaufen oder alles verschieben.
Nextcloud kann vorhandene Ordner einfach verlinken und wie eigene Daten behandeln.
Ziel
- Zusätzliche Ordner oder Laufwerke direkt in Nextcloud einbinden
- Zugriff über die normale Weboberfläche
- Freigabe oder Zugriff nur für bestimmte Nutzer möglich
Schritt 1 – App „Externer Speicher“ aktivieren
- Melde dich als Administrator in deiner Nextcloud an.
- Klicke oben rechts auf dein Profilbild → Apps.
- Wähle links den Bereich Integration.
- Suche die App „Externer Speicher“ und klicke auf Aktivieren.
👉 Screenshot geeignet: Nextcloud-App-Übersicht mit aktivierter „Externer Speicher“-App.
Schritt 2 – Speicher hinzufügen
- Klicke oben rechts wieder auf dein Profilbild → Einstellungen.
- Scrolle links im Menü bis zum Bereich Verwaltung → Externer Speicher.
- Klicke unten auf Hinzufügen.
- Wähle im Feld Ordnername aus, wie der Speicher in Nextcloud heißen soll, z. B.
Videos. - Im Feld Speichertyp wählst du:
- Lokal – wenn der Ordner im Container liegt (z. B.
/mnt/hdd/videos) - SFTP – wenn der Ordner auf einem anderen Server oder Container liegt
- Lokal – wenn der Ordner im Container liegt (z. B.
👉 Screenshot geeignet: Maske „Externer Speicher hinzufügen“ mit ausgewähltem Typ „Lokal“.
Schritt 3 – Pfad oder Verbindung eintragen
Für lokale Speicher:
- Öffne im Container ein Terminal.
- Lege einen Ordner an, falls er noch nicht existiert:
mkdir -p /mnt/hdd/videos chown -R www-data:www-data /mnt/hdd/videos chmod 750 /mnt/hdd/videos - Trage in der Nextcloud-Weboberfläche bei Pfad genau diesen Ordner ein:
/mnt/hdd/videos
Für SFTP (andere Server oder Container):
- Wähle in der Nextcloud-Maske als Typ SFTP.
- Gib unter Host die IP-Adresse des Zielservers an (z. B.
10.0.0.10). - Trage deinen Benutzernamen und das Passwort ein,
das du auf dem Zielsystem für den Zugriff verwendest. - Im Feld Pfad gibst du an, wo die Dateien dort liegen (z. B.
/srv/uploads).
Tip
Bei SFTP musst du nichts extra installieren – die Verbindung nutzt dieselbe Technik,
die du auch bei WinSCP oder FileZilla verwendest.
Schritt 4 – Zugriff testen
- Öffne in Nextcloud den Bereich Dateien.
- Du siehst jetzt einen neuen Ordner, z. B.
Videos. - Öffne ihn – wenn der Zugriff funktioniert, kannst du Dateien sehen oder neue hinzufügen.
Note
Wenn du die Meldung „Speicher nicht verfügbar“ siehst,
stimmt meist der Pfad oder der Benutzerzugriff im Container nicht.
Prüfe im Terminal, ob der Ordner wirklich existiert
undwww-datader Besitzer ist:ls -ld /mnt/hdd/videos
👉 Screenshot geeignet: Nextcloud-Dateiansicht mit geöffnetem Ordner „Videos“.
Schritt 5 – Rechte und Freigaben
In der Speicherverwaltung kannst du einstellen,
wer den neuen Speicher überhaupt sehen darf:
- Alle Benutzer – jeder sieht den Ordner in seiner Cloud
- Nur bestimmte Gruppen oder Admins – sinnvoll für sensible Daten
- Schreibgeschützt – erlaubt nur das Ansehen, keine Änderungen
Tip
Wenn du mehrere Personen in deiner Nextcloud hast,
lohnt sich die Gruppenzuweisung, damit jeder nur die passenden Ordner sieht.
SFTP-Upload-Integration
Mit der SFTP-Integration kannst du Dateien automatisch von deiner Nextcloud auf einen anderen Server oder Container hochladen.
Das ist besonders praktisch, wenn du regelmäßig große Dateien sichern oder VODs automatisch auf einen Upload-Server verschieben willst –
zum Beispiel in deinen Archiv-Container, einen externen Speicher oder eine Produktionsumgebung.
Note
SFTP steht für Secure File Transfer Protocol und überträgt Daten verschlüsselt –
im Gegensatz zu FTP, das unverschlüsselt arbeitet.
Du kannst also auch sensible Daten sicher verschieben.
Ziel
- Automatisches Hochladen ausgewählter Dateien über SFTP
- Kein manuelles Kopieren mehr per WinSCP oder FileZilla
- Optional: Tägliche Synchronisierung mit einem anderen Server
Schritt 1 – SSH-Schlüssel erstellen
Wir nutzen SSH-Schlüssel, damit der Upload ohne Passworteingabe funktioniert.
Öffne das Terminal im Nextcloud-Container:
ssh-keygen -t ed25519 -f /root/.ssh/id_ed25519 -C "nextcloud-auto-upload"
Drücke einfach Enter, wenn nach einer Passphrase gefragt wird.
Der Schlüssel besteht aus zwei Dateien:
/root/.ssh/id_ed25519→ privater Schlüssel (bleibt im Container)/root/.ssh/id_ed25519.pub→ öffentlicher Schlüssel (wird auf dem Zielserver hinterlegt)
Schritt 2 – Schlüssel auf Zielsystem hinterlegen
- Melde dich auf dem Zielsystem (z. B. Archiv-Container oder externer Server) an.
- Öffne dort die Datei:
nano ~/.ssh/authorized_keys - Füge den Inhalt der Datei
/root/.ssh/id_ed25519.pubaus dem Nextcloud-Container ein. - Datei speichern (STRG+O, Enter, STRG+X) und schließen.
Tip
Falls die Datei
authorized_keysnoch nicht existiert, wird sie automatisch erstellt.
Achte darauf, dass sie dem Benutzer gehört, unter dem du dich verbindest.
Schritt 3 – Verbindung testen
Zurück im Nextcloud-Container:
sftp user@10.0.0.10
Wenn du ohne Passwortabfrage verbunden wirst, funktioniert der Schlüsselzugriff.
Beende die Sitzung mit:
exit
👉 Screenshot geeignet: Terminalausgabe mit erfolgreicher SFTP-Verbindung ohne Passwort.
Schritt 4 – Upload-Skript erstellen
Jetzt legen wir ein einfaches Skript an, das Dateien aus einem bestimmten Nextcloud-Ordner
(z. B. „Uploads“) automatisch auf das Zielsystem überträgt.
nano /usr/local/bin/nextcloud_sftp_upload.sh
Füge den folgenden Inhalt ein:
#!/bin/bash
#
# nextcloud_sftp_upload.sh
# Lädt Dateien aus dem Upload-Ordner per SFTP auf ein Zielsystem hoch
#
SOURCE="/mnt/hdd/nextcloud_data/admin/files/Uploads"
TARGET="user@10.0.0.10:/srv/archive"
LOGFILE="/var/log/nextcloud_sftp_upload.log"
echo "[$(date +'%d.%m.%Y %H:%M:%S')] Upload gestartet" >> "$LOGFILE"
# Hochladen aller neuen Dateien
sftp -q -b - "$TARGET" <<EOF
put -r "$SOURCE"/*
EOF
echo "[$(date +'%d.%m.%Y %H:%M:%S')] Upload abgeschlossen" >> "$LOGFILE"
Datei speichern und schließen (STRG+O, Enter, STRG+X)
Dann ausführbar machen:
chmod +x /usr/local/bin/nextcloud_sftp_upload.sh
Schritt 5 – Automatische Ausführung planen
Damit die Dateien regelmäßig übertragen werden,
tragen wir das Skript im Cron-Dienst ein:
crontab -e
Am Ende hinzufügen:
30 2 * * * /usr/local/bin/nextcloud_sftp_upload.sh
Note
Damit startet der Upload täglich um 02:30 Uhr.
Du kannst die Uhrzeit natürlich frei anpassen.
Schritt 6 – Funktion testen
Starte das Skript manuell:
/usr/local/bin/nextcloud_sftp_upload.sh
Dann prüfe das Log:
tail -n 20 /var/log/nextcloud_sftp_upload.log
Wenn alles funktioniert, siehst du im Zielverzeichnis die hochgeladenen Dateien.
Tip
Du kannst auch mehrere Zielsysteme eintragen,
indem du diesftp-Befehle im Skript einfach duplizierst –
z. B. für gleichzeitige Sicherung auf Archiv- und Backup-Server.
👉 Screenshot geeignet: Terminal mit erfolgreichem Upload und Logauszug.
Preview-Cache optimieren
Nextcloud erzeugt für viele Dateitypen automatisch Vorschaubilder (Previews) –
zum Beispiel für Fotos, Videos oder PDFs.
Das ist praktisch, kann aber bei großen Medienbibliotheken schnell viel Rechenleistung und Speicherplatz verbrauchen.
Mit den richtigen Einstellungen lassen sich die Previews deutlich beschleunigen und besser kontrollieren.
Note
Diese Optimierung ist besonders wichtig, wenn du viele hochauflösende Dateien nutzt –
etwa VODs, Thumbnails oder große Bildergalerien.
Ziel
- Vorschaugenerierung beschleunigen
- Speicherbedarf für Thumbnails reduzieren
- CPU-Last bei großen Datenmengen senken
Schritt 1 – Preview-App prüfen
- Melde dich als Administrator in deiner Nextcloud an.
- Klicke oben rechts auf dein Profilbild → Apps.
- Suche im Bereich Multimedia nach der App Preview Generator.
- Wenn sie noch nicht aktiviert ist, klicke auf Aktivieren.
👉 Screenshot geeignet: App-Übersicht mit aktivierter „Preview Generator“-App.
Tip
Die App ist offiziell von Nextcloud und in jeder Installation enthalten.
Sie kümmert sich um die Erstellung und Verwaltung von Vorschaubildern.
Schritt 2 – Standardwerte anpassen
Nextcloud erstellt standardmäßig viele verschiedene Vorschaustufen.
Das verlangsamt den Upload großer Dateien und kann mehrere Gigabyte Speicher belegen.
Wir begrenzen die Anzahl der Größen und definieren sinnvolle Maximalwerte.
Öffne die Konfiguration:
nano /srv/nextcloud/app/nextcloud/config/config.php
Füge (oder ergänze) diese Zeilen:
'enabledPreviewProviders' => [
'OC\\Preview\\Image',
'OC\\Preview\\JPEG',
'OC\\Preview\\PNG',
'OC\\Preview\\GIF',
'OC\\Preview\\PDF',
'OC\\Preview\\MP3',
'OC\\Preview\\TXT',
'OC\\Preview\\Movie',
],
'preview_max_x' => 2048,
'preview_max_y' => 2048,
'preview_max_filesize_image' => 50,
Note
Diese Werte sind ein guter Kompromiss:
- Maximal 2048 × 2048 Pixel für Previews
- Keine Vorschau für Bilder größer als 50 MB
- Unterstützt nur häufig genutzte Dateitypen
Speichern und schließen (STRG+O, Enter, STRG+X).
Schritt 3 – Preview-Cache automatisch erzeugen
Die Vorschauen lassen sich im Hintergrund generieren,
damit sie später sofort verfügbar sind.
Wir aktivieren dazu den Preview Generator als Cronjob.
crontab -u www-data -e
Ganz unten einfügen:
@daily php -f /srv/nextcloud/app/nextcloud/occ preview:generate-all -vvv
Tip
Dadurch werden jeden Tag alle neu hochgeladenen Dateien automatisch verarbeitet.
Beim ersten Lauf kann der Prozess länger dauern, da vorhandene Dateien nachgerendert werden.
Schritt 4 – Preview-Cache aufräumen
Mit der Zeit sammeln sich viele alte Thumbnails an,
die für gelöschte Dateien gar nicht mehr gebraucht werden.
Wir bereinigen sie regelmäßig:
@weekly php -f /srv/nextcloud/app/nextcloud/occ preview:cleanup -n
So bleibt der Cache schlank und aktuell.
Note
Beide Cronjobs laufen leise im Hintergrund.
Du musst nichts weiter tun, die Previews bleiben immer aufgeräumt.
Schritt 5 – Wirkung prüfen
- Öffne in Nextcloud den Ordner mit vielen Bildern oder Videos.
- Beim ersten Öffnen werden die Vorschaubilder schnell sichtbar, ohne lange Ladezeit.
- Die Systemauslastung bleibt auch bei mehreren Dateien stabil.
👉 Screenshot geeignet: Nextcloud-Dateiansicht mit geladenen Vorschaubildern ohne Verzögerung.
Tip
Wenn du häufig große Medien bearbeitest, lohnt es sich, den Cronjob nachts laufen zu lassen.
So entstehen keine Performanceeinbußen während der Nutzung.