
Tutorial: Nextcloud auf einem Hetzner Ubuntu Server selber hosten

Hast du dir schon mal eine Alternative zu Dropbox oder Google Drive gewünscht – eine, die DU komplett kontrollierst? Dann ist Nextcloud genau dein Ding! 🎉 Nextcloud ist ein fantastisches Open-Source-Tool, mit dem du deine eigene, sichere Cloud-Storage-Lösung selbst hosten kannst. Indem du Nextcloud selbst betreibst, liegt deine Privatsphäre wieder komplett in deinen Händen. Heute zeige ich dir Schritt für Schritt, wie du Nextcloud ganz einfach mit Docker auf einem Ubuntu Linux Server selbst hosten kannst.
Ich verwende für diese Anleitung einen günstigen Server von Hetzner. Hetzner hat sich schnell zu einem meiner Lieblingsanbieter für kleinere Projekte und Self-Hosting gemausert. Wir gehen alles von Anfang bis Ende durch – vom Einrichten deines Server und der Firewall, über Docker-Installation bis hin zu einem lauffähigen Nextcloud inklusive automatischer HTTPS-Zertifikate. Wenn du eine einfache, sichere und private Cloud-Lösung suchst, dann ist diese Anleitung genau richtig für dich!
Bereit, deine Daten selbst in die Hand zu nehmen und die Abhängigkeit von Big Tech loszuwerden?
Schau dir auch das Video-Tutorial an, wenn du eine einfachere Alternative zur manuellen Selbst-Hosting-Lösung suchst.
Schritt 1: Ubuntu Linux Server vorbereiten
Erstelle zunächst einen neuen Linux-Server. Ubuntu ist dafür eine einfache und zuverlässige Wahl. Logge dich per SSH auf deinem Server ein.
Sobald verbunden, aktualisiere dein System:
sudo apt-get update
sudo apt-get upgrade -y
Schritt 2: Firewall zur Sicherheit einrichten
Wichtig ist es, nur unbedingt nötige Ports offen zu lassen – SSH (22), HTTP (80) und HTTPS (443):
sudo apt install ufw -y
sudo ufw allow 22 # SSH-Zugang
sudo ufw allow 80 # HTTP
sudo ufw allow 443 # HTTPS
sudo ufw enable
Überprüfe die Firewall-Regeln mit:
sudo ufw status verbose
Alternativ benutze zusätzlich die Firewall deines Hosters, da Docker gerne mal UFW-Regeln umgeht. Oder du folgst diesen Schritten auf Stack Overflow.
Schritt 3: Docker auf Ubuntu installieren
Docker erlaubt dir, Anwendungen einfach und isoliert in Containern laufen zu lassen. Installiere Docker wie folgt.
Zunächst die benötigten Pakete und den Docker GPG Key installieren:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
Füge jetzt das offizielle Docker Repository hinzu:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo $VERSION_CODENAME) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Installiere Docker und das Docker Compose Plugin:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
Teste die Docker-Installation:
sudo docker run hello-world
Schritt 4: Caddy Web Server für HTTPS-Konfiguration installieren
Caddy sorgt automatisch für HTTPS-Zertifikate. Installation wie folgt:
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' \
| sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy -y
Caddy konfigurieren:
sudo nano /etc/caddy/Caddyfile
Gib Folgendes ein (mit deiner Domain):
deinedomain.de {
reverse_proxy localhost:8000
}
Falls du noch keine Domain hast, nimm erstmal:
:80 {
reverse_proxy localhost:8000
}
Starte danach Caddy neu:
sudo systemctl restart caddy
Schritt 5: Nextcloud mit Docker Compose installieren
Erstelle einen Ordner und navigiere dorthin:
mkdir ~/nextcloud
cd ~/nextcloud
Erzeuge darin die Config-Datei docker-compose.yml
:
services:
nextcloud:
depends_on:
- postgres
image: nextcloud:apache
environment:
- POSTGRES_HOST=postgres
- POSTGRES_PASSWORD=nextcloud
- POSTGRES_DB=nextcloud
- POSTGRES_USER=nextcloud
ports:
- 8000:80
restart: always
volumes:
- nc_data:/var/www/html
postgres:
image: postgres:alpine
environment:
- POSTGRES_PASSWORD=nextcloud
- POSTGRES_DB=nextcloud
- POSTGRES_USER=nextcloud
restart: always
volumes:
- db_data:/var/lib/postgresql/data
expose:
- 5432
volumes:
db_data:
nc_data:
Jetzt Nextcloud starten:
sudo docker compose up -d
Docker lädt alle Images automatisch und startet die Container im Hintergrund.
Schritt 6: Nextcloud im Browser aufrufen
Nach erfolgreicher Installation besuche einfach deine Domain (https://deinedomain.de
) oder die IP deines Servers im Browser. Du siehst die Einrichtung von Nextcloud:
Wähle ein sicheres Passwort für den Admin-Account. Die restliche Installation dauert maximal 1-2 Minuten. Anschließend kannst du Plugins auswählen oder später entfernen, wie du möchtest.
Danach landest du automatisch im Dashboard:
Geschafft! 🎉 Du kannst dein eigenes Nextcloud nun nutzen. Es gibt auch eine super einfache Nextcloud-App für deinen Desktop und dein Smartphone!
Sicherheits-Tipps:
Wenn deine Container öffentlich zugänglich sind, solltest du zusätzliche Sicherheitsmaßnahmen treffen:
- Regelmäßige Updates deiner Anwendungen & des Servers
- Fail2ban zum SSH-Schutz verwenden
- Starke Passwörter überall einsetzen
- Regelmäßige Backups erstellen
Zu kompliziert?
Falls dir das alles zu technisch ist und du dir die manuelle Pflege sparen willst, probiere einen vereinfachten Anbieter für Self-Hosting wie Sliplane. Sliplane ist unkompliziert und preiswert (ab €9/Monat) und erlaubt es, mittels einfacher Benutzeroberfläche Anwendungen wie Nextcloud zu installieren. Damit kannst du eine sichere und skalierbare Nextcloud-Instanz in nur wenigen Klicks bereitstellen.
Fertig! Viel Spaß beim Ausprobieren und Self-Hosting! ✌️😊