Nextcloud
Nextcloud ist eine Open-Source-Alternative zu Dropbox, Google Drive und iCloud. Du kannst Dateien synchronisieren, Kalender und Kontakte verwalten und vieles mehr - alles auf deinem eigenen Server.
Installation
Füge das folgende Template in deine docker-compose.yml ein und führe anschließend ei23 dc aus.
Passwörter ändern!
Ändere alle Passwörter (password_placeholder, password1_placeholder) vor dem Start!
Netzwerk erforderlich
Füge das Nextcloud-Netzwerk zur docker-compose.yml hinzu.
Template
nextcloud:
image: nextcloud
container_name: nextcloud
ports:
- "8080:80"
volumes:
- ./volumes/nextcloud/html:/var/www/html
restart: unless-stopped
depends_on:
- nextcloud_db
links:
- nextcloud_db
networks:
- default
- nextcloud
environment:
- MYSQL_HOST=nextcloud_db
- MYSQL_PASSWORD=password1_placeholder
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- TRUSTED_PROXIES=172.18.0.0/16
# - OVERWRITEPROTOCOL=https
# - OVERWRITEHOST=example.com
logging:
options:
max-size: "5m"
max-file: "3"
nextcloud_db:
image: yobasystems/alpine-mariadb:10.4.17
container_name: nextcloud_db
volumes:
- ./volumes/nextcloud/db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=password_placeholder
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=password1_placeholder
restart: unless-stopped
networks:
- nextcloud
logging:
options:
max-size: "5m"
max-file: "3"
Netzwerk hinzufügen
Füge dieses Netzwerk in deiner docker-compose.yml hinzu (z.B. unter networks:):
Erster Start
- Nach dem Start erreichst du Nextcloud unter
http://[IP]:8080 - Erstelle einen Admin-Account
- Warte, bis die Installation abgeschlossen ist
HTTPS einrichten (Empfohlen)
Reverse Proxy nutzen
Für HTTPS nutze Traefik oder Nginx Proxy Manager.
Mit Traefik
Entkommentiere und passe die Labels im Template an:
labels:
- traefik.enable=true
- traefik.http.routers.nextcloud.rule=Host(`nextcloud.deinedomain.de`)
- traefik.http.routers.nextcloud.entrypoints=web-secured
- traefik.http.routers.nextcloud.tls=true
- traefik.http.routers.nextcloud.tls.certresolver=letsEncrypt
- traefik.http.middlewares.nextcloud.headers.stsSeconds=15552000
Umgebungsvariablen für HTTPS
Clients
Desktop-Sync (Windows/macOS/Linux)
- Installiere den Nextcloud Desktop-Client
- Gib die Server-URL ein:
http://[IP]:8080oderhttps://nextcloud.deinedomain.de - Melde dich an
- Wähle die zu synchronisierenden Ordner
Mobile App (Android/iOS)
Apps & Erweiterungen
Nextcloud kann durch Apps erweitert werden:
Empfohlene Apps
| App | Beschreibung |
|---|---|
| Calendar | Kalender mit CalDAV-Sync |
| Contacts | Kontakte mit CardDAV-Sync |
| Deck | Projektmanagement (Kanban) |
| Notes | Notizen |
| Talk | Videoanrufe und Chat |
| Files PDF Viewer | PDF-Vorschau |
| Preview Generator | Vorschaubilder vorab erstellen |
Apps installieren
- Klicke oben rechts auf dein Profil
- Gehe zu Apps
- Suche und installiere die gewünschte App
Kalender & Kontakte synchronisieren
Nextcloud bietet CalDAV und CardDAV für die Synchronisation:
Android (mit DAVx⁵)
- Installiere DAVx⁵
- Füge ein Konto hinzu → Anmelden mit URL und Benutzername
- URL:
http://[IP]:8080/remote.php/dav - Synchronisiere Kalender und Kontakte
iOS
- Gehe zu Einstellungen → Kalender → Konten
- Andere Konto → CalDAV-Konto
- Server:
[IP]:8080 - Gib deine Zugangsdaten ein
Backup & Restore
Backup
# Daten sichern
cd ~/ei23-docker/
docker compose exec -u www-data nextcloud php occ maintenance:mode --on
sudo tar -czf nextcloud_backup.tar.gz volumes/nextcloud/
docker compose exec -u www-data nextcloud php occ maintenance:mode --off
Restore
# Daten wiederherstellen
docker compose stop nextcloud
sudo rm -rf volumes/nextcloud/
sudo tar -xzf nextcloud_backup.tar.gz
docker compose start nextcloud
OCC-Kommandozeile
Nextcloud hat ein nützliches CLI-Werkzeug:
# Allgemein
docker compose exec -u www-data nextcloud php occ [command]
# Beispiel: Upgrade nach Update
docker compose exec -u www-data nextcloud php occ upgrade
# Beispiel: Dateien scannen
docker compose exec -u www-data nextcloud php occ files:scan --all
# Beispiel: Wartungsmodus
docker compose exec -u www-data nextcloud php occ maintenance:mode --on/off
Performance-Tipps
Caching aktivieren
Füge in der config.php (unter volumes/nextcloud/html/config/) hinzu:
'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
'host' => 'redis',
'port' => 6379,
],
Preview Generator
Für schnellere Vorschaubilder:
Hinweise
- Die Daten werden in
./volumes/nextcloud/gespeichert - Die MariaDB-Datenbank läuft als separater Container
- Regelmäßige Backups der Datenbank sind essentiell!
- Nextcloud kann viel RAM verbrauchen - mindestens 2GB empfohlen