README.md hinzugefügt
This commit is contained in:
95
README.md
Normal file
95
README.md
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
```markdown
|
||||||
|
# ☁️ 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_SECRET` und deine Domain `cloud.deinedomain.de` durch 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:
|
||||||
|
|
||||||
|
```php
|
||||||
|
'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:
|
||||||
|
```bash
|
||||||
|
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:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
*/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](https://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.*
|
||||||
Reference in New Issue
Block a user