Nextcloud im Homelab: Private Cloud selbst hosten

Deine eigene Cloud – unabhängig, sicher und komplett unter deiner Kontrolle

Warum Nextcloud?

Viele nutzen Google Drive, Dropbox oder iCloud, ohne sich Gedanken darüber zu machen, wer Zugriff auf die eigenen Daten hat. Nextcloud ist die führende Open-Source-Lösung für selbstgehosteten Cloud-Speicher und bietet dir die volle Kontrolle über deine Dateien.

Nextcloud vs. kommerzielle Cloud-Dienste

Kriterium Nextcloud Google Drive Dropbox
Datenschutz Volle Kontrolle Daten bei Google Daten bei Dropbox
Speicherplatz Unbegrenzt (eigene HDD) 15 GB kostenlos 2 GB kostenlos
Monatliche Kosten Nur Strom (~3€/Monat) Ab 2,99€/Monat Ab 11,99€/Monat
Open Source Ja Nein Nein
Erweiterbar (Apps) 400+ Apps Begrenzt Begrenzt
DSGVO-konform Ja (eigener Server) Fragwürdig Fragwürdig

Mit Nextcloud bekommst du nicht nur Cloud-Speicher, sondern eine komplette Produktivitäts-Suite: Kalender, Kontakte, Notizen, Videokonferenzen und sogar ein eigenes Office – alles selbst gehostet.

Voraussetzungen

Bevor du loslegst, stelle sicher, dass du Folgendes bereit hast:

Hardware-Anforderungen

Minimum (1–3 Benutzer)

  • CPU: 2 Kerne (z.B. Intel N100, Raspberry Pi 4)
  • RAM: 4 GB (8 GB empfohlen)
  • Storage: 64 GB SSD für System + separate Datenplatte
  • Netzwerk: Gigabit Ethernet

Empfohlen (5–10 Benutzer)

  • CPU: 4 Kerne (Intel N100 oder besser)
  • RAM: 8–16 GB
  • Storage: NVMe SSD für System + HDD/SSD für Daten
  • Netzwerk: Gigabit Ethernet

Software-Voraussetzungen

  • Linux-Server (Ubuntu 22.04/24.04, Debian 12 oder Proxmox LXC)
  • Docker & Docker Compose installiert
  • Domain (optional, aber empfohlen für SSL und externen Zugriff)
  • Grundlegende Terminal-Kenntnisse

Tipp: Falls du Docker noch nicht installiert hast, folge unserem Docker Homelab Guide für eine vollständige Anleitung.

Nextcloud mit Docker Compose installieren

Wir verwenden Docker Compose, um Nextcloud zusammen mit MariaDB (Datenbank) und Redis (Caching) aufzusetzen. Das ist der zuverlässigste und wartungsfreundlichste Weg.

Schritt 1: Verzeichnisstruktur anlegen

Erstelle zuerst die Ordnerstruktur für Nextcloud:

mkdir -p ~/nextcloud/{db,data,config,redis}
cd ~/nextcloud

Schritt 2: Docker Compose Datei erstellen

Erstelle die Datei docker-compose.yml im Nextcloud-Verzeichnis:

version: '3.8'

services:
  db:
    image: mariadb:11
    container_name: nextcloud-db
    restart: always
    command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
    volumes:
      - ./db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=EinSicheresRootPasswort123!
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=EinSicheresDBPasswort456!
    networks:
      - nextcloud-net

  redis:
    image: redis:7-alpine
    container_name: nextcloud-redis
    restart: always
    command: redis-server --requirepass EinSicheresRedisPasswort789!
    volumes:
      - ./redis:/data
    networks:
      - nextcloud-net

  app:
    image: nextcloud:latest
    container_name: nextcloud-app
    restart: always
    ports:
      - "8080:80"
    volumes:
      - ./data:/var/www/html/data
      - ./config:/var/www/html/config
      - ./custom_apps:/var/www/html/custom_apps
      - ./themes:/var/www/html/themes
    environment:
      - MYSQL_HOST=db
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=EinSicheresDBPasswort456!
      - REDIS_HOST=redis
      - REDIS_HOST_PASSWORD=EinSicheresRedisPasswort789!
      - NEXTCLOUD_ADMIN_USER=admin
      - NEXTCLOUD_ADMIN_PASSWORD=DeinAdminPasswort!
      - NEXTCLOUD_TRUSTED_DOMAINS=localhost 192.168.1.100 cloud.deinedomain.de
      - OVERWRITEPROTOCOL=https
      - PHP_MEMORY_LIMIT=1G
      - PHP_UPLOAD_LIMIT=10G
    depends_on:
      - db
      - redis
    networks:
      - nextcloud-net

  cron:
    image: nextcloud:latest
    container_name: nextcloud-cron
    restart: always
    entrypoint: /cron.sh
    volumes:
      - ./data:/var/www/html/data
      - ./config:/var/www/html/config
      - ./custom_apps:/var/www/html/custom_apps
    depends_on:
      - app
    networks:
      - nextcloud-net

networks:
  nextcloud-net:
    driver: bridge

Wichtig: Ändere unbedingt alle Passwörter in der Datei! Verwende sichere, einzigartige Passwörter für die Datenbank, Redis und den Admin-Account. Trage bei NEXTCLOUD_TRUSTED_DOMAINS die IP-Adresse deines Servers und ggf. deine Domain ein.

Schritt 3: Container starten

docker compose up -d

Warte ca. 1–2 Minuten, bis alle Container vollständig gestartet sind. Prüfe den Status mit:

docker compose ps
docker compose logs -f app

Wenn alle Container als Up (healthy) angezeigt werden, ist Nextcloud bereit.

Erster Login und Grundeinrichtung

Öffne deinen Browser und navigiere zu http://DEINE-SERVER-IP:8080. Da wir den Admin-Account bereits über die Umgebungsvariablen konfiguriert haben, kannst du dich direkt einloggen.

Login-Daten

  • Benutzername: admin (oder der Wert von NEXTCLOUD_ADMIN_USER)
  • Passwort: Das von dir gesetzte Admin-Passwort

Erste Schritte nach dem Login

  1. Profil einrichten: Klicke oben rechts auf das Avatar-Symbol und gehe zu „Persönliche Einstellungen“. Lege deine E-Mail-Adresse, Sprache und Zeitzone fest.
  2. Weitere Benutzer anlegen: Unter „Benutzer“ kannst du Accounts für Familie oder Teammitglieder erstellen. Vergib individuelle Speicherlimits und Gruppenberechtigungen.
  3. Sicherheitseinstellungen prüfen: Gehe zu „Verwaltung“ und dann „Sicherheit“. Aktiviere die Zwei-Faktor-Authentifizierung (2FA) und setze Passwort-Richtlinien.
  4. E-Mail-Versand konfigurieren: Unter „Verwaltung“ > „Grundeinstellungen“ kannst du einen SMTP-Server eintragen, damit Nextcloud Benachrichtigungen und Passwort-Resets versenden kann.

Tipp: Prüfe die Verwaltungsübersicht unter „Verwaltung“ > „Übersicht“. Dort zeigt Nextcloud Warnungen an, falls Konfigurationen fehlen oder Sicherheitsprobleme bestehen.

Apps installieren

Nextcloud wird mit dem App Store zur echten Produktivitäts-Plattform. Hier sind die wichtigsten Apps, die du sofort installieren solltest:

Essenzielle Apps

Calendar

Vollwertiger CalDAV-Kalender, der sich mit jedem Gerät synchronisieren lässt. Ersetzt Google Calendar komplett.

Installation: Apps > Büro & Organisation > Calendar

Contacts

CardDAV-Kontaktverwaltung für alle deine Kontakte. Synchronisiert sich nahtlos mit Smartphones und E-Mail-Clients.

Installation: Apps > Büro & Organisation > Contacts

Notes

Markdown-fähige Notizen-App. Perfekter Ersatz für Google Keep oder Apple Notes.

Installation: Apps > Büro & Organisation > Notes

Nextcloud Talk

Videoanrufe, Chat und Bildschirmfreigabe – dein eigenes Zoom/Teams. Ende-zu-Ende-verschlüsselt.

Installation: Apps > Kommunikation > Talk

Nextcloud Office (Collabora)

Dokumente, Tabellen und Präsentationen direkt im Browser bearbeiten. Kompatibel mit Microsoft Office Formaten.

Installation: Apps > Büro & Organisation > Nextcloud Office

Weitere empfehlenswerte Apps

  • Deck: Kanban-Board für Projektmanagement (Trello-Alternative)
  • Maps: Kartenansicht für geogetaggte Fotos
  • Memories: Fortschrittliche Fotoverwaltung (Google Photos-Alternative)
  • Music: Musik-Player und Bibliothek
  • Cookbook: Rezeptverwaltung mit Import-Funktion

Apps installierst du über die Web-Oberfläche unter dem Avatar-Menü > „Apps“, oder per OCC-Befehl im Container:

docker exec -u www-data nextcloud-app php occ app:install calendar
docker exec -u www-data nextcloud-app php occ app:install contacts
docker exec -u www-data nextcloud-app php occ app:install notes
docker exec -u www-data nextcloud-app php occ app:install spreed
docker exec -u www-data nextcloud-app php occ app:install richdocuments

Clients einrichten

Nextcloud bietet Clients für alle gängigen Plattformen. So synchronisierst du deine Dateien, Kalender und Kontakte auf allen Geräten.

Desktop-Client (Windows, macOS, Linux)

  1. Lade den Client von nextcloud.com/install herunter
  2. Gib die Server-Adresse ein (z.B. https://cloud.deinedomain.de)
  3. Melde dich mit deinem Nextcloud-Account an
  4. Wähle die Ordner, die synchronisiert werden sollen

Der Desktop-Client hält deine Dateien automatisch synchron – ähnlich wie Dropbox, aber auf deinem eigenen Server.

Mobile Apps (Android & iOS)

  • Nextcloud App: Dateizugriff, automatischer Foto-Upload, Offline-Dateien
  • Nextcloud Talk: Chat und Videoanrufe auf dem Smartphone
  • DAVx5 (Android): Synchronisiert Kalender und Kontakte mit der Standard-Kalender/Kontakte-App
  • iOS: Kalender und Kontakte lassen sich nativ über CalDAV/CardDAV einrichten

WebDAV-Zugriff

Für fortgeschrittene Nutzung kannst du Nextcloud auch per WebDAV einbinden. Die WebDAV-Adresse lautet:

https://cloud.deinedomain.de/remote.php/dav/files/BENUTZERNAME/

WebDAV funktioniert mit jedem Dateimanager (Windows Explorer, macOS Finder, Linux Nautilus) und ermöglicht den direkten Zugriff auf deine Nextcloud-Dateien wie auf ein Netzlaufwerk.

CalDAV & CardDAV Adressen

# CalDAV (Kalender)
https://cloud.deinedomain.de/remote.php/dav/calendars/BENUTZERNAME/

# CardDAV (Kontakte)
https://cloud.deinedomain.de/remote.php/dav/addressbooks/users/BENUTZERNAME/

Performance optimieren

Eine frische Nextcloud-Installation läuft bereits, aber mit ein paar Optimierungen wird sie deutlich schneller und reaktionsfreudiger.

Redis-Caching verifizieren

Da wir Redis bereits in der Docker Compose Datei konfiguriert haben, sollte das Caching automatisch aktiv sein. Prüfe es mit:

docker exec -u www-data nextcloud-app php occ config:list system | grep -A5 redis

Falls Redis nicht automatisch konfiguriert wurde, füge Folgendes in die Datei config/config.php ein:

'memcache.local' => '\\OC\\Memcache\\APCu',
'memcache.distributed' => '\\OC\\Memcache\\Redis',
'memcache.locking' => '\\OC\\Memcache\\Redis',
'redis' => array(
  'host' => 'redis',
  'port' => 6379,
  'password' => 'EinSicheresRedisPasswort789!',
),

PHP OPcache optimieren

OPcache speichert vorkompilierte PHP-Skripte im Arbeitsspeicher und beschleunigt dadurch die Seitenladezeiten erheblich. Erstelle eine eigene PHP-Konfiguration:

# Datei: ~/nextcloud/opcache.ini
opcache.enable=1
opcache.interned_strings_buffer=32
opcache.max_accelerated_files=10000
opcache.memory_consumption=256
opcache.save_comments=1
opcache.revalidate_freq=1

Binde die Datei als Volume in den app-Service der docker-compose.yml ein:

volumes:
  - ./opcache.ini:/usr/local/etc/php/conf.d/opcache-recommended.ini

Cron-Jobs richtig konfigurieren

Nextcloud benötigt regelmäßige Hintergrundaufgaben für Dateiscans, Benachrichtigungen und Aufräumarbeiten. Unser Docker Compose Setup beinhaltet bereits einen separaten Cron-Container. Stelle sicher, dass Nextcloud auf „Cron“ eingestellt ist:

  1. Gehe zu „Verwaltung“ > „Grundeinstellungen“
  2. Wähle unter „Hintergrund-Aufgaben“ die Option „Cron (Empfohlen)“

Alternativ kannst du die Einstellung per Kommandozeile setzen:

docker exec -u www-data nextcloud-app php occ background:cron

Weitere Optimierungen

  • Pretty URLs aktivieren: 'htaccess.RewriteBase' => '/' in config.php und php occ maintenance:update:htaccess
  • Standardtelefonregion setzen: 'default_phone_region' => 'DE' in config.php
  • Upload-Limit erhöhen: Bereits in der Docker Compose Datei über PHP_UPLOAD_LIMIT=10G konfiguriert

SSL mit Reverse Proxy

Für sicheren HTTPS-Zugriff und externen Zugang brauchst du einen Reverse Proxy mit SSL-Zertifikat. Hier zeigen wir zwei beliebte Optionen.

Option A: Caddy (Einfachste Lösung)

Caddy ist der einfachste Reverse Proxy, weil er automatisch kostenlose Let’s Encrypt SSL-Zertifikate beschafft und erneuert.

# Caddyfile
cloud.deinedomain.de {
    reverse_proxy localhost:8080

    header {
        Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
        X-Content-Type-Options "nosniff"
        X-Frame-Options "SAMEORIGIN"
        Referrer-Policy "strict-origin-when-cross-origin"
    }

    redir /.well-known/carddav /remote.php/dav 301
    redir /.well-known/caldav /remote.php/dav 301
}

Starte Caddy als Docker Container oder installiere ihn direkt:

sudo apt install caddy
sudo systemctl enable --now caddy

Option B: Nginx Proxy Manager (Grafische Oberfläche)

Wenn du eine grafische Verwaltung bevorzugst, ist Nginx Proxy Manager ideal. Füge diesen Service zu deiner Docker Compose Datei hinzu:

  nginx-proxy:
    image: jc21/nginx-proxy-manager:latest
    container_name: nginx-proxy-manager
    restart: always
    ports:
      - "80:80"
      - "443:443"
      - "81:81"    # Admin Panel
    volumes:
      - ./npm/data:/data
      - ./npm/letsencrypt:/etc/letsencrypt
    networks:
      - nextcloud-net
  1. Öffne das Admin-Panel unter http://DEINE-IP:81
  2. Login: admin@example.com / changeme
  3. Erstelle einen neuen Proxy Host für deine Domain
  4. Aktiviere SSL mit Let’s Encrypt und „Force SSL“

Wichtig: Vergiss nicht, die Ports 80 und 443 in deinem Router weiterzuleiten und die NEXTCLOUD_TRUSTED_DOMAINS sowie OVERWRITEPROTOCOL=https in der Docker Compose Datei korrekt zu setzen.

Backup-Strategie für Nextcloud

Ohne Backup ist deine selbstgehostete Cloud ein Risiko. Hier ist eine bewährte 3-2-1-Backup-Strategie speziell für Nextcloud.

Was muss gesichert werden?

  • Datenverzeichnis: ~/nextcloud/data/ – alle Benutzer-Dateien
  • Konfiguration: ~/nextcloud/config/ – Nextcloud-Einstellungen
  • Datenbank: MariaDB Dump der Nextcloud-Datenbank
  • Custom Apps: ~/nextcloud/custom_apps/ – installierte Erweiterungen

Backup-Skript

Erstelle ein Skript, das du per Cron täglich ausführen lässt:

#!/bin/bash
# nextcloud-backup.sh
# Tägliches Backup für Nextcloud

BACKUP_DIR="/mnt/backup/nextcloud/$(date +%Y-%m-%d)"
NC_DIR="$HOME/nextcloud"

mkdir -p "$BACKUP_DIR"

# 1. Wartungsmodus aktivieren
docker exec -u www-data nextcloud-app php occ maintenance:mode --on

# 2. Datenbank sichern
docker exec nextcloud-db mysqldump \
  -u nextcloud -pEinSicheresDBPasswort456! \
  nextcloud > "$BACKUP_DIR/nextcloud-db.sql"

# 3. Dateien sichern
rsync -a "$NC_DIR/data/" "$BACKUP_DIR/data/"
rsync -a "$NC_DIR/config/" "$BACKUP_DIR/config/"
rsync -a "$NC_DIR/custom_apps/" "$BACKUP_DIR/custom_apps/"
rsync -a "$NC_DIR/themes/" "$BACKUP_DIR/themes/"

# 4. Wartungsmodus deaktivieren
docker exec -u www-data nextcloud-app php occ maintenance:mode --off

# 5. Alte Backups entfernen (älter als 30 Tage)
find /mnt/backup/nextcloud/ -maxdepth 1 -type d -mtime +30 -exec rm -rf {} \;

echo "Backup abgeschlossen: $BACKUP_DIR"

Mache das Skript ausführbar und richte einen Cron-Job ein:

chmod +x ~/nextcloud-backup.sh

# Cron-Job für täglich um 3:00 Uhr
crontab -e
# Folgende Zeile einfügen:
0 3 * * * /home/DEINUSER/nextcloud-backup.sh >> /var/log/nextcloud-backup.log 2>&1

3-2-1-Regel umsetzen

  • 3 Kopien: Originaldaten + lokales Backup + externes Backup
  • 2 verschiedene Medien: SSD (Original) + externe HDD (lokales Backup)
  • 1 Off-Site: Nutze rclone oder restic für verschlüsseltes Backup auf einen günstigen VPS oder S3-kompatiblen Storage

Wiederherstellung testen

Ein Backup ist nur so gut wie die letzte erfolgreiche Wiederherstellung. Teste regelmäßig (mindestens einmal pro Quartal), ob du aus deinem Backup eine funktionierende Nextcloud-Instanz wiederherstellen kannst.

Selbsthosten zu viel Aufwand? Wenn du Nextcloud-Funktionen ohne Server-Wartung willst: IONOS Nextcloud Workspace (Affiliate-Link) bietet gehostete Nextcloud im DE-Rechenzentrum — gleiche Open-Source-Basis, ohne Docker, Backups oder Updates selbst zu betreuen.

Managed-Alternative aus der Schweiz: Wer privacy-fokussierten Cloud-Speicher will, aber keine eigene Nextcloud-Instanz pflegen möchte: Proton Drive (Affiliate-Link). End-to-End-Verschlüsselung, Server in CH/EU, Sync-Apps für alle Plattformen — ähnliche Idee wie Nextcloud, aber als fertiger Dienst.

Fazit

Mit Nextcloud im Homelab hast du eine leistungsfähige, private Cloud-Lösung, die kommerzielle Anbieter in vielen Bereichen übertrifft. Du behältst die volle Kontrolle über deine Daten, sparst monatliche Abo-Kosten und kannst das System beliebig erweitern.

Die wichtigsten Punkte nochmal zusammengefasst:

  • Docker Compose macht Installation und Updates einfach
  • Redis und OPcache sorgen für gute Performance
  • SSL per Reverse Proxy ist Pflicht für sicheren Zugriff
  • Regelmäßige Backups nach der 3-2-1-Regel schützen deine Daten
  • Mit Apps wie Calendar, Contacts und Talk wird Nextcloud zur vollständigen Google-Alternative

Du brauchst kein teures NAS oder eine leistungsstarke Hardware – ein einfacher Mini-PC reicht völlig aus. Weitere Tipps für dein Homelab-Setup findest du in unseren verlinkten Guides.

Wer Nextcloud lieber bei einem Hoster betreibt, findet bei uns aktuelle Netcup Gutscheine mit 30% Rabatt aufs Webhosting.

Verwandte Artikel

Diese Guides könnten dich auch interessieren

Homelab

Docker im Homelab einrichten

Docker und Docker Compose installieren und konfigurieren – die Basis für alle Self-Hosted Services.

Zum Guide →
Homelab

Homelab Setup für Anfänger

Schritt-für-Schritt Anleitung zur Einrichtung deines ersten Homelabs.

Zum Guide →
Hardware

Budget Homelab unter 500€

Die perfekte Hardware-Kombination für Einsteiger mit konkreten Produktempfehlungen.

Zum Guide →