# ☁️ Enterprise Nextcloud Stack (Docker Compose)
Dieses Repository bietet eine schlüsselfertige, hochperformante Nextcloud-Umgebung. Der Stack ist speziell für die Zusammenarbeit in Teams optimiert und enthält vorkonfigurierte Dienste für Office, Kommunikation und Echtzeit-Benachrichtigungen.
## 📝 Projektbeschreibung
Dieses Setup transformiert eine Standard-Nextcloud in eine vollwertige Collaboration-Plattform. Durch die Trennung von Datenbank, Cache und Dokumentenserver erreichen wir eine Stabilität, die auch bei 20+ aktiven Nutzern flüssig bleibt.
### Kern-Komponenten:
* **Nextcloud Core:** Dateiverwaltung & Hub.
* **MariaDB 10.11:** Robuste SQL-Datenbank.
* **Redis:** In-Memory Cache für rasante Ladezeiten.
* **ONLYOFFICE Document Server:** Live-Editierung von Dokumenten.
* **Nextcloud Talk & Signaling:** Video-Telefonie ohne Verbindungsabbrüche.
* **Notify Push:** Websocket-Service für Benachrichtigungen in Millisekunden.
---
## 🚀 Deployment (Installation)
### 1. Verzeichnisse vorbereiten
Erstelle zunächst die notwendige Ordnerstruktur auf deinem Host-System, um die Persistenz der Daten zu gewährleisten:
```bash
mkdir nextcloud-system && cd nextcloud-system
mkdir -p data config db oo_data oo_log
2. Docker Compose Konfiguration
Erstelle die Datei docker-compose.yml und füge deine Konfiguration ein.
Caution
Wichtig: Ersetze vor dem Start alle Platzhalter wie
DEIN_PASSWORT,JWT_SECRETund deine Domaincloud.deinedomain.dedurch deine individuellen Werte.
3. Cloudflare Tunnel (Networking)
Um den Stack sicher ohne offene Ports zu betreiben, konfiguriere deinen Cloudflare Tunnel mit folgenden Public Hostnames:
| Hostname | Interner Ziel-Port | Dienst |
|---|---|---|
cloud.deinedomain.de |
http://localhost:8080 |
Nextcloud (Hauptinstanz) |
office.deinedomain.de |
http://localhost:8081 |
OnlyOffice Server |
talk.deinedomain.de |
http://localhost:8082 |
Signaling Server |
cloud.deinedomain.de/push |
http://localhost:7867 |
High Performance Push |
⚙️ Post-Deployment Konfiguration
4. Nextcloud config.php Tuning
Damit Nextcloud hinter dem Cloudflare-Proxy korrekt funktioniert, editiere ./config/config.php und füge folgende Zeilen hinzu:
'trusted_proxies' => ['127.0.0.1'],
'overwriteprotocol' => 'https',
'overwritehost' => 'cloud.deinedomain.de',
'allow_local_remote_servers' => true,
5. Aktivierung der Dienste
High Performance Push
Installiere die App "Nextcloud Push" im App-Store und führe diesen Befehl aus:
docker compose exec -u www-data app php occ notify_push:setup [https://cloud.deinedomain.de](https://cloud.deinedomain.de)
ONLYOFFICE Integration
Installiere die App "ONLYOFFICE". Hinterlege in den Einstellungen:
- Server-Adresse:
https://office.deinedomain.de - JWT-Secret: Dein gewähltes
JWT_DEIN_PASSWORT.
Talk & Signaling
Installiere die App "Talk". Konfiguration unter Einstellungen -> Talk -> Signaling-Server:
- Server-URL:
https://talk.deinedomain.de - Shared Secret: Dein gewähltes
SIGNAL_DEIN_PASSWORT.
🛠️ Performance & Maintenance
6. System-Cron (Empfohlen)
Um Lags zu vermeiden, sollte die Hintergrundverarbeitung über das System laufen. Füge dies via crontab -e hinzu:
*/5 * * * * docker exec -u www-data nextcloud-system-app-1 php -f /var/www/html/cron.php
🔒 Sicherheit & A+ Rating
Dieses Setup ist darauf ausgelegt, im offiziellen Nextcloud Security-Scan ein A+ Rating zu erhalten. Durch den Einsatz von Cloudflare und den korrekten Headern werden Nutzerdaten optimal geschützt.
Möchtest du das Rating prüfen? Besuche nach der Installation scan.nextcloud.com.
Hinweis: Die Implementierung zusätzlicher Sicherheits-Header (HSTS, X-Content-Type) verbessert den Schutz vor Cross-Site-Scripting und Man-in-the-Middle-Angriffen erheblich.