Self-Hosting für Einsteiger: Der komplette Guide
Was Self-Hosting bedeutet, was Sie brauchen und wie Sie sicher starten – Schritt für Schritt erklärt.
Am Ende dieser Anleitung wissen Sie genau, was Self-Hosting ist und warum es sich lohnt. Sie haben Ihren eigenen kleinen Server eingerichtet, darauf Ihre erste Anwendung installiert und diese über eine eigene Internetadresse erreichbar gemacht. Kurz gesagt: Sie betreiben ab jetzt Ihre eigene kleine Cloud, die Ihnen allein gehört.
Das brauchen Sie vorab
- Ein wenig Neugier und Geduld: Self-Hosting bedeutet, dass Sie selbst der Administrator sind. Wenn etwas nicht sofort klappt, gehört das Ausprobieren und Nachlesen einfach dazu.
- Ein Computer mit Internetzugang: Sie brauchen ein Gerät, um Ihren Server über den Browser oder ein Terminal (ein Textfenster für Befehle) zu bedienen. Ihr normaler Laptop reicht dafür völlig aus.
- Ein kostenpflichtiger oder eigener Server: Entweder ein sogenannter VPS (ein gemieteter Rechner im Internet, ab etwa 4 US-Dollar pro Monat) oder ein kleines Gerät bei Ihnen zu Hause. Ohne Server gibt es nichts zu betreiben.
- Eine E-Mail-Adresse und eine Zahlungsmethode: Diese benötigen Sie, um sich beim Server-Anbieter anzumelden und den Dienst zu buchen.
- Etwa zwei bis drei Stunden Zeit am Stück: So können Sie in Ruhe alle Schritte durchgehen, ohne unter Zeitdruck zu geraten.
Schritt für Schritt
-
Verstehen, was Self-Hosting eigentlich ist
Bevor Sie irgendetwas installieren, sollten Sie kurz verstehen, worum es geht. Self-Hosting bedeutet, dass Sie Software auf einem Rechner betreiben, der Ihnen gehört oder den Sie mieten – statt einen fertigen Dienst aus dem Internet zu nutzen. Ein bekanntes Beispiel: Statt Fotos bei Google Fotos hochzuladen, betreiben Sie Ihre eigene Foto-Verwaltung auf Ihrem eigenen Server.
Der Server ist dabei einfach ein Computer, der rund um die Uhr läuft und Dienste bereitstellt. Das kann ein kleines Gerät bei Ihnen zu Hause sein oder ein Rechner in einem Rechenzentrum, den Sie monatlich mieten. Beides funktioniert.
Warum tut man sich das an? Weil Sie damit die volle Kontrolle über Ihre Daten haben. Niemand wertet sie aus, niemand schaltet den Dienst plötzlich ab, und Sie zahlen keine monatlichen Abo-Gebühren an große Anbieter. Dafür tragen Sie die Verantwortung selbst – aber genau das lernen Sie hier.
-
Entscheiden, ob Sie einen VPS mieten oder eigene Hardware nutzen
Jetzt treffen Sie Ihre erste echte Entscheidung. Es gibt zwei Wege, an einen Server zu kommen. Der erste ist ein VPS – die Abkürzung steht für „Virtual Private Server“, also ein virtueller privater Server. Das ist ein Teil eines großen Rechners in einem Rechenzentrum, den Sie exklusiv mieten und über das Internet steuern.
Ein VPS hat für Anfänger einen großen Vorteil: Sie müssen keine Hardware kaufen, nichts anschließen und sich nicht um Strom oder Internetverbindung kümmern. Der Anbieter HostHatch bietet zum Beispiel Pakete ab etwa 4 US-Dollar im Monat an – mit 10 Gigabyte Speicher, 2 Gigabyte Arbeitsspeicher, 1 Terabyte Datenverkehr und einer eigenen IP-Adresse (das ist die eindeutige Nummer, unter der Ihr Server im Internet erreichbar ist).
Der zweite Weg ist eigene Hardware bei Ihnen zu Hause, etwa ein kleiner Mini-PC. Das ist auf lange Sicht oft günstiger, aber am Anfang aufwändiger. Für Ihren allerersten Versuch empfehle ich Ihnen daher einen VPS. Er ist in wenigen Minuten startklar, und wenn etwas schiefgeht, löschen Sie ihn einfach und fangen neu an.
-
Einen VPS bestellen und die Zugangsdaten notieren
Gehen Sie auf die Webseite eines VPS-Anbieters und legen Sie ein Konto an. Sie geben Ihre E-Mail-Adresse ein, bestätigen sie und hinterlegen eine Zahlungsmethode. Danach wählen Sie das kleinste Einstiegspaket aus – für den Anfang reicht das vollkommen.
Wichtig ist bei der Bestellung die Auswahl des Betriebssystems. Wählen Sie hier „Ubuntu“ in einer aktuellen Version (zum Beispiel Ubuntu 22.04 LTS). Ubuntu ist ein Linux-Betriebssystem, das sehr weit verbreitet und anfängerfreundlich ist. „LTS“ bedeutet „Long Term Support“, also lange Unterstützung mit Sicherheitsupdates – ideal für einen Server, der lange laufen soll.
Nach der Bestellung bekommen Sie vom Anbieter drei wichtige Informationen: die IP-Adresse Ihres Servers, einen Benutzernamen (meist
root, der Hauptverwalter des Systems) und ein Passwort. Schreiben Sie sich diese drei Angaben sicher auf. Ohne sie kommen Sie nicht auf Ihren Server. -
Sich zum ersten Mal mit dem Server verbinden
Jetzt verbinden Sie sich mit Ihrem Server. Das geht über eine Technik namens SSH – die Abkürzung steht für „Secure Shell“ und bedeutet eine sichere, verschlüsselte Fernverbindung. Damit steuern Sie den Server über Textbefehle, so als säßen Sie direkt davor.
Öffnen Sie auf Ihrem eigenen Computer ein Terminal. Unter Windows nutzen Sie dafür „PowerShell“ (im Startmenü suchen), unter macOS und Linux die App „Terminal“. Ein Terminal ist einfach ein Fenster, in das Sie Textbefehle tippen.
Geben Sie nun den folgenden Befehl ein. Ersetzen Sie dabei
IHRE-IP-ADRESSEdurch die Adresse, die Sie vom Anbieter bekommen haben. Der Befehlsshstartet die sichere Verbindung,rootist der Benutzername, und das@verbindet beides mit der Server-Adresse.Beim allerersten Verbinden fragt Sie das Terminal, ob Sie dem Server vertrauen – tippen Sie
yesund drücken Sie Enter. Danach werden Sie nach dem Passwort gefragt. Während Sie es eintippen, sehen Sie nichts auf dem Bildschirm – das ist normal und dient der Sicherheit. Nach dem Enter sind Sie eingeloggt und sehen eine Begrüßung mit einer Befehlszeile, die aufroot@...endet.ssh root@IHRE-IP-ADRESSE -
Das System aktualisieren und Docker installieren
Bevor Sie Anwendungen installieren, bringen Sie das System auf den neuesten Stand. Der folgende Befehl macht zwei Dinge:
apt updateholt die aktuelle Liste verfügbarer Software, undapt upgrade -yinstalliert alle verfügbaren Updates. Das-ybedeutet, dass alle Rückfragen automatisch mit „ja“ beantwortet werden. Das&&verbindet beide Befehle, sodass sie nacheinander laufen.Führen Sie diesen Befehl aus. Sie sehen viele Textzeilen durchlaufen – das ist der Download und die Installation der Updates. Wenn wieder die Befehlszeile mit
root@...erscheint, ist der Vorgang abgeschlossen.apt update && apt upgrade -y -
Docker als Fundament installieren
Jetzt kommt das wichtigste Werkzeug für Ihr Self-Hosting: Docker. Docker ist ein Programm, mit dem Sie Anwendungen in sogenannten „Containern“ betreiben. Ein Container ist wie eine abgeschlossene Kiste, die eine Anwendung mit allem enthält, was sie zum Laufen braucht. Der große Vorteil: Sie müssen nicht mehr für jede App mühsam Einzelteile installieren – der Container bringt alles mit.
Die einfachste Art, Docker zu installieren, ist das offizielle Installationsskript. Der folgende Befehl lädt dieses Skript herunter und führt es sofort aus.
curlist ein Werkzeug zum Herunterladen aus dem Internet, und die Pipe|reicht das Heruntergeladene direkt anshweiter, das es ausführt.Der Vorgang dauert ein bis zwei Minuten. Am Ende sehen Sie eine Meldung, dass Docker installiert wurde. Zur Kontrolle können Sie anschließend
docker --versioneingeben – erscheint dort eine Versionsnummer, hat alles geklappt.curl -fsSL https://get.docker.com | sh -
Portainer installieren – Ihre grafische Steuerzentrale
Bisher haben Sie alles über Textbefehle gemacht. Das wird auf Dauer mühsam. Deshalb installieren Sie jetzt Portainer – eine Weboberfläche, mit der Sie Ihre Docker-Container bequem per Mausklick im Browser verwalten. Statt Befehle zu tippen, sehen Sie dann Knöpfe und Listen.
Der folgende Befehl startet Portainer als Container. Kurz erklärt:
docker runstartet einen neuen Container,-dlässt ihn im Hintergrund laufen,-p 9443:9443öffnet den Zugangsport (der „Türnummer“, über die Sie Portainer erreichen), und-vsorgt dafür, dass Ihre Einstellungen dauerhaft gespeichert bleiben. Der letzte Teil gibt an, welches Programm gestartet wird.Nach dem Ausführen erscheint eine lange Zeichenfolge – das ist die Kennung Ihres neuen Containers. Öffnen Sie jetzt in Ihrem Browser die Adresse
https://IHRE-IP-ADRESSE:9443. Ihr Browser warnt eventuell vor einem unsicheren Zertifikat – das ist bei der ersten Einrichtung normal, klicken Sie auf „Erweitert“ und dann auf „Fortfahren“. Sie werden nun aufgefordert, ein Administrator-Passwort für Portainer festzulegen.docker run -d -p 9443:9443 --name portainer --restart=always -v portainer_data:/data portainer/portainer-ce:latest -
Ihre erste App hosten – ein eigener Blog mit Ghost
Jetzt kommt der schönste Moment: Sie starten Ihre erste echte Anwendung. Wir nehmen Ghost, eine schlanke Blog-Software – perfekt zum Ausprobieren. Ghost lässt sich mit einem einzigen Docker-Befehl starten.
Der folgende Befehl holt Ghost aus dem Internet und startet es.
-p 8080:2368bedeutet, dass Sie Ghost später unter der Türnummer 8080 erreichen, während es intern auf 2368 läuft. Der Nameghost-bloghilft Ihnen, den Container später in Portainer wiederzufinden.Nach dem Start warten Sie etwa eine Minute, bis Ghost hochgefahren ist. Öffnen Sie dann im Browser
http://IHRE-IP-ADRESSE:8080. Sie sollten jetzt die Startseite Ihres eigenen Blogs sehen. Herzlichen Glückwunsch – das ist Ihre erste selbst gehostete Anwendung, die auf Ihrem eigenen Server läuft.docker run -d --name ghost-blog -p 8080:2368 --restart=always ghost:latest -
Ihren Blog über eine eigene Domain und einen Cloudflare Tunnel erreichbar machen
Eine IP-Adresse mit Doppelpunkt und Zahlen kann sich niemand merken. Deshalb richten Sie jetzt eine Domain ein – das ist ein leicht merkbarer Name wie
mein-blog.de. Domains kann man bei verschiedenen Anbietern registrieren; oft kostet das nur wenige Euro im Jahr.Damit Ihr Server sicher über diese Domain erreichbar ist, nutzen Sie einen Cloudflare Tunnel. Cloudflare ist ein kostenloser Dienst, und ein Tunnel ist eine geschützte Verbindung zwischen Ihrem Server und dem Internet. Der große Vorteil: Sie müssen keine Ports in Ihrem Router öffnen, und Ihre echte IP-Adresse bleibt verborgen – das erhöht die Sicherheit deutlich.
Legen Sie ein kostenloses Konto bei Cloudflare an und fügen Sie Ihre Domain dort hinzu. Im Bereich „Zero Trust“ finden Sie die Funktion „Tunnels“. Cloudflare zeigt Ihnen dort einen fertigen Installationsbefehl an, den Sie einfach in Ihr Server-Terminal kopieren. Anschließend geben Sie im Cloudflare-Menü an, dass die Domain auf
http://localhost:8080– also Ihren Ghost-Blog – zeigen soll. Nach wenigen Minuten erreichen Sie Ihren Blog bequem über Ihre eigene Domain. -
Die grundlegende Sicherheit einrichten
Ein Server im Internet wird ständig von automatisierten Programmen nach Schwachstellen abgesucht. Deshalb sollten Sie zwei einfache Schutzmaßnahmen ergreifen, bevor Sie weitermachen.
Ändern Sie zuerst das Standardpasswort und richten Sie idealerweise einen SSH-Schlüssel ein – das ist eine Art digitaler Ausweis, viel sicherer als ein Passwort. Installieren Sie außerdem
fail2ban, ein Programm, das automatisch Angreifer aussperrt, die zu oft ein falsches Passwort eingeben. Der folgende Befehl installiert es:apt installist der Installationsbefehl,fail2bander Name des Programms.Nach der Installation läuft fail2ban selbstständig im Hintergrund und schützt Ihren Server ab sofort. Sie müssen nichts weiter tun. Damit haben Sie die wichtigste Grundabsicherung erledigt und können sich beruhigt weiteren Anwendungen widmen.
apt install fail2ban -y
Häufige Probleme und Lösungen
Beim SSH-Verbinden erscheint „Connection refused“ oder „Connection timed out“.
Prüfen Sie zuerst, ob Sie die IP-Adresse exakt richtig eingegeben haben. Bei „timed out“ ist der Server oft noch nicht vollständig hochgefahren – warten Sie ein bis zwei Minuten und versuchen Sie es erneut. Bei „Connection refused“ hilft ein Neustart des Servers über das Bedienfeld des Anbieters.
Der Browser zeigt bei Portainer oder Ghost nur eine Sicherheitswarnung oder eine leere Seite.
Bei Portainer ist die Zertifikatswarnung normal – klicken Sie auf „Erweitert“ und dann auf „Trotzdem fortfahren“. Bei einer leeren Seite war die App wahrscheinlich noch nicht fertig gestartet. Warten Sie eine Minute und laden Sie die Seite neu. Prüfen Sie außerdem, ob Sie den richtigen Port (:9443 für Portainer, :8080 für Ghost) angehängt haben.
Ein Docker-Befehl bricht mit „port is already allocated“ ab.
Das bedeutet, dass die gewählte Türnummer (der Port) bereits von einem anderen Container belegt ist. Wählen Sie im Befehl einfach eine andere Zahl vor dem Doppelpunkt, zum Beispiel -p 8081:2368 statt -p 8080:2368, und rufen Sie die App dann über diesen neuen Port auf.
Fazit
Sie haben nun das Fundament für Ihr eigenes Self-Hosting gelegt: einen laufenden Server, Docker als Motor, Portainer als Steuerzentrale und mit Ghost eine erste erreichbare Anwendung über Ihre eigene Domain. Von hier aus können Sie beliebig weiterbauen und Schritt für Schritt weitere Dienste ergänzen. Das Wichtigste ist geschafft – der Rest ist jetzt Wiederholung mit neuen Anwendungen.
Für Self-Hosting-Setups empfehlen wir einen VPS mit mindestens 2 GB RAM. Hetzner Cloud ist unser Standard-Partner für zuverlässige, günstige Server aus deutschen Rechenzentren.
Hetzner Cloud ab 3,29 € → Mit einem Kauf über diesen Link unterstützen Sie unsere Arbeit – ohne Mehrkosten für Sie.Häufige Fragen
Welche Anwendungen kann ich als Nächstes ausprobieren?
Für den Einstieg eignen sich besonders vier beliebte Dienste. Pi-hole ist ein netzwerkweiter Werbeblocker, der zugleich als DNS-Server funktioniert und Werbung schon vor dem Laden herausfiltert. Syncthing gleicht Dateien zwischen Ihren Geräten ab, ähnlich wie Dropbox, aber komplett unter Ihrer Kontrolle. Home Assistant ist eine Zentrale zur Steuerung von Smart-Home-Geräten. Und Grafana zeigt Ihnen übersichtliche Diagramme zum Zustand Ihres