
ownCloud auf einem Ubuntu Server bei Hetzner selbst hosten

Hast Du schon mal davon geträumt, eine Cloud für Deine Dateien zu nutzen, bei der DU die volle Kontrolle hast — ganz ohne Dropbox oder Google Drive? Lass mich Dir ownCloud vorstellen – eine großartige open-source Plattform, mit der du Deine eigene sichere Cloud hosten kannst! 🚀 Wenn Du ownCloud selbst betreibst, bestimmst Du über Deine Privatsphäre – und in dieser Anleitung zeige ich Dir Schritt für Schritt, wie Du ownCloud mit Docker auf einem Ubuntu Linux-Server aufsetzt.
Bereit, die Datenhoheit zurück in deine Hände zu nehmen und Dich unabhängiger von großen Tech-Firmen zu machen?
Falls Dir ein Video-Tutorial lieber ist, schau dir das hier an:
Schritt 1: Bereite deinen Linux-Server vor
Für dieses Tutorial empfehle ich Dir einen günstigen Cloud-Server von Hetzner. Hetzner gehört zu meinen Favoriten für persönliche Projekte und kleinere Umgebungen zum selbst-hosten. Erstelle dort einfach eine Ubuntu-Server-Instanz und verbinde Dich per SSH.
Sobald du verbunden bist, halte Deinen Server aktuell:
sudo apt-get update
sudo apt-get upgrade -y
Schritt 2: Firewall für Sicherheit einrichten
Es ist wichtig, deinen Server auf wenige notwendige Zugangsports zu beschränken (SSH: 22, HTTP: 80, HTTPS: 443):
sudo apt install ufw -y
sudo ufw allow 22 # SSH Zugriff
sudo ufw allow 80 # HTTP
sudo ufw allow 443 # HTTPS
sudo ufw enable
Überprüfe deine Firewall-Regeln noch einmal:
sudo ufw status verbose
Verwende am besten auch die Firewall deines Hosting-Anbieters, da Docker gerne UFW-Regeln umgeht. Alternativ kannst du diese Schritte auf StackOverflow befolgen.
Schritt 3: Docker auf Ubuntu installieren
Docker erlaubt bequemes und isoliertes Betreiben von Anwendungen. Installiere Docker mit diesen Schritten auf Ubuntu:
Zuerst notwendige Pakete installieren und Docker's GPG-Schlüssel hinzufügen:
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
Jetzt Docker's Repository hinzufügen:
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
Docker und Docker Compose Plugin installieren:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
Checke, ob Docker funktioniert:
sudo docker run hello-world
Schritt 4: Caddy Webserver für HTTPS installieren
Mit Caddy hast du HTTPS automatisch und ohne Aufwand:
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
Dann eine einfache Caddyfile
erstellen:
sudo nano /etc/caddy/Caddyfile
Füge ganz simpel folgendes ein (ersetze dabei mit Deiner Domain):
deinedomain.de {
reverse_proxy localhost:8000
}
Wenn du noch keine Domain hast, kannst du vorerst diesen Eintrag verwenden:
:80 {
reverse_proxy localhost:8000
}
Dann neu starten:
sudo systemctl restart caddy
Schritt 5: ownCloud mit Docker Compose starten
Erstelle ein neues Verzeichnis für ownCloud:
mkdir ~/owncloud && cd ~/owncloud
Erstelle dann diese docker-compose.yml
(und wähle ein sicheres Passwort):
services:
owncloud:
image: owncloud/server
restart: always
ports:
- 8000:8080
depends_on:
- mariadb
- redis
environment:
- OWNCLOUD_DOMAIN=localhost:8080
- OWNCLOUD_TRUSTED_DOMAINS=localhost
- OWNCLOUD_DB_TYPE=mysql
- OWNCLOUD_DB_NAME=owncloud
- OWNCLOUD_DB_USERNAME=owncloud
- OWNCLOUD_DB_PASSWORD=owncloud
- OWNCLOUD_DB_HOST=mariadb
- OWNCLOUD_ADMIN_USERNAME=admin
- OWNCLOUD_ADMIN_PASSWORD=supersecurepassword
- OWNCLOUD_MYSQL_UTF8MB4=true
- OWNCLOUD_REDIS_ENABLED=true
- OWNCLOUD_REDIS_HOST=redis
volumes:
- files:/mnt/data
mariadb:
image: mariadb:10.11
restart: always
environment:
- MYSQL_ROOT_PASSWORD=owncloud
- MYSQL_USER=owncloud
- MYSQL_PASSWORD=owncloud
- MYSQL_DATABASE=owncloud
- MARIADB_AUTO_UPGRADE=1
volumes:
- mysql:/var/lib/mysql
redis:
image: redis:6
restart: always
volumes:
- redis:/data
volumes:
files:
mysql:
redis:
Starte ownCloud mit:
sudo docker compose up -d
Docker lädt automatisch alles herunter und startet die Container im Hintergrund.
Schritt 6: ownCloud im Browser öffnen
Sobald alles läuft, geh im Browser zu Deiner Domain (https://deinedomain.de
) oder der IP-Adresse deines Servers. Du siehst wie erwartet die ownCloud Login-Seite:
Nach dem ersten Login mit den zuvor definierten Admin-Zugangsdaten landest Du im Dashboard:
Fertig! 🎉 Jetzt kannst du dein öffentliches ownCloud selbst nutzen. Die ownCloud-Apps auf Desktop oder Smartphone sind praktisch fürs Dateisyncen.
Zusätzliche Sicherheitsmaßnahmen:
Noch einige Sicherheitstipps für Dich:
- Server regelmäßig aktualisieren
- Fail2ban für Schutz vor Angriffen
- Sichere Passwörter
- Regelmäßige Backups
Noch einfacher selbst hosten
Sollte Dir das manuelle Setup zu komplex sein, wirf doch mal einen Blick auf Anbieter wie Sliplane. Dort startest du ownCloud ganz bequem per Knopfdruck und ohne komplexe Serververwaltung in wenigen Minuten: