2026-03-05 09:23:42 +00:00
2026-03-01 11:04:57 +00:00
2026-03-01 19:55:51 +00:00
2026-03-01 11:04:57 +00:00
2026-03-01 19:57:38 +00:00
2026-03-05 09:23:42 +00:00

☁️ Nextcloud Docker-Setup (LXC/Ubuntu)

Dieses Repository enthält ein vollständig optimiertes Docker-Setup für Nextcloud Hub 9. Es beinhaltet eine MariaDB-Datenbank, Redis für Caching, einen integrierten Cron-Container und den Nginx Proxy Manager für SSL/Zertifikatsverwaltung.

Features

  • Performance: Redis für File-Locking und APCu für lokales Caching.
  • Sicherheit: Automatische Konfiguration von trusted_domains und trusted_proxies.
  • Apps: Automatische Installation von Must-Have Apps (Calendar, Contacts, Deck, etc.).
  • Automatisierung: init-nextcloud.sh für die schlüsselfertige Ersteinrichtung.
  • Mail: Vorkonfigurierter SMTP-Versand über Umgebungsvariablen.

Installation

1. Vorbereitung

Klone das Repository oder erstelle das Verzeichnis:

mkdir -p /srv/docker/nextcloud && cd /srv/docker/nextcloud

2. Konfiguration

Erstelle eine .env Datei basierend auf der Vorlage:

cp example.env .env
nano .env

Wichtig: Passe dort Passwörter, die NEXTCLOUD_IP und deine SMTP-Daten an.

3. Ersteinrichtung (Setup-Skript)

Das Skript fährt die Container hoch, wartet auf die Datenbank und führt alle Optimierungen (Indizes, Apps, Cron-Modus) automatisch aus:

chmod +x init-nextcloud.sh
./init-nextcloud.sh


📂 Struktur & Verzeichnisse

Die Daten werden lokal im Projektverzeichnis gespeichert, um Backups zu erleichtern:

  • data_nextcloud/: Alle Web-Dateien und Benutzerdaten der Cloud.
  • data_db/: Die MariaDB-Datenbankdateien.
  • data_npm_data/: Konfiguration des Nginx Proxy Managers.
  • data_npm_letsencrypt/: SSL-Zertifikate.

⚙️ Wichtige Befehle

Container verwalten:

docker compose up -d    # Starten (Hintergrund)
docker compose down      # Stoppen
docker compose logs -f   # Logs in Echtzeit einsehen

OCC-Befehle manuell ausführen:

docker compose exec --user www-data app php occ [befehl]


Hintergrundaufgaben (Cron)

Nextcloud ist im Setup auf den Cron-Modus eingestellt. Ein dedizierter Container übernimmt die Aufgaben automatisch.

Um sicherzugehen, dass das Host-System den Cron triggert (optionaler Best-Practice), kann ein Crontab-Eintrag erstellt werden:

# Öffne Crontab
crontab -e

# Füge diese Zeile hinzu (alle 5 Min):
*/5 * * * * docker compose -f /srv/docker/nextcloud/compose.yml exec --user www-data app php -f /var/www/html/cron.php


📧 E-Mail Konfiguration

Die Mail-Einstellungen werden direkt über die .env gesteuert. Nach dem ersten Login unter: Einstellungen -> Grundeinstellungen -> E-Mail-Server prüfen und eine Test-Mail senden.


🛠 Fehlerbehebung

  • Header-Warnung (Trusted Proxies): Diese wird durch die Variablen TRUSTED_PROXIES_RANGE_1/2 in der .env gelöst.
  • Secure Connection Error: Wenn OVERWRITEPROTOCOL=https gesetzt ist, muss der Zugriff zwingend über den Nginx Proxy Manager mit SSL erfolgen (nicht direkt über IP:8080).

Description
No description provided
Readme 47 KiB
Languages
Shell 100%