Unabhängige Tests Aktualisiert August 2026 387 Self-Hosting-Guides 5 VPS-Anbieter getestet

guide

Wie man Plane auf einem VPS selbst hostet (Komplette Anleitung)

Installiere Plane, die Open-Source-Alternative zu Jira, mit dem offiziellen Installer auf einem VPS. Mit echtem Sizing, dem 13-Container-Stack, DNS, Backups und Upgrades.

Plane ist ein Open-Source-Werkzeug für Projektmanagement - Issues, Cycles, Module und Pages, im selben Feld wie Jira und Linear - und gehört zu den schwergewichtigeren Anwendungen, die man auf einen kleinen VPS stellen kann. Die Community Edition bringt einen Stack aus dreizehn Containern mit. Der interessante Teil dieser Anleitung ist deshalb die richtige Dimensionierung des Servers, nicht das Tippen von docker compose up.

Warum Plane selbst hosten?

Der gehostete Tarif rechnet pro Nutzer ab. Selbsthosting streicht diese Kosten und hält Issue-Historie, Anhänge und Projektdaten auf einer Infrastruktur, die dir gehört - was zählt, wenn im Issue-Tracker Kundennamen, Sicherheitslücken oder unveröffentlichte Roadmap-Punkte stehen. Die Community Edition steht unter AGPL-3.0, du kannst sie also ohne Lizenzgebühr im Unternehmen betreiben.

Der Preis dafür ist real: Upgrades, Backups und die Postgres-Instanz liegen bei dir. Wenn niemand im Team diese Aufgabe übernehmen will, ist die gehostete Variante die ehrlichere Antwort.

Voraussetzungen

Die Dokumentation von Plane nennt die Anforderungen unmissverständlich:

Diese 4-GB-Grenze ist kein Puffer. Der Stack fährt web, admin, space, api, worker, beat-worker, migrator, live, einen Proxy sowie postgres:15.7-alpine, valkey/valkey:7.2.11-alpine, rabbitmq:3.13.6-management-alpine und minio/minio hoch. Dreizehn Container im Leerlauf belegen den größten Teil von 4 GB, bevor sich der erste Nutzer anmeldet.

Falls du noch einen Server brauchst: Contabo, Hetzner Cloud und DigitalOcean haben Tarife, die die Hürde nehmen - siehe die Tabelle unten und unseren vollständigen VPS-Vergleich.

Schritt 1: Einen Tarif mit mehr als 4 GB wählen

Hier scheitern die meisten Plane-Installationen. Der günstigste Tarif hat bei fast jedem Anbieter 1 GB RAM - ein Viertel dessen, was Plane dokumentiert verlangt.

TarifvCPU / RAM / SpeicherPreisUrteil für Plane
Contabo Cloud VPS 44 / 8 GB / 100 GB SSD5,50 EUR/Mo nettoErfüllt die empfohlenen 8 GB
Hetzner CX334 / 8 GB / 80 GB NVMe8,49 EUR/Mo nettoErfüllt die empfohlenen 8 GB
Hetzner CX232 / 4 GB / 40 GB NVMe5,49 EUR/Mo nettoGenau das Minimum; für ein kleines Team ausreichend
DigitalOcean Einstiegs-Droplet1 / 1 GB / 25 GB6 USD/MoZu klein - darauf läuft Plane nicht

Setze Ubuntu 24.04 LTS auf, lege dann einen Nutzer ohne Root-Rechte an und aktiviere die Firewall:

sudo apt update && sudo apt upgrade -y
sudo adduser plane
sudo usermod -aG sudo plane
sudo ufw allow OpenSSH && sudo ufw allow 80 && sudo ufw allow 443
sudo ufw enable

Schritt 2: Docker installieren

Plane benötigt Compose v2. Installiere aus dem Repository von Docker, damit du docker-compose-plugin bekommst und nicht das abgekündigte v1-Skript:

sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] 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 update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo usermod -aG docker $USER

Melde dich ab und wieder an, dann prüfe die Version:

docker compose version

Schritt 3: DNS zuerst auf den Server zeigen lassen

Erledige das, bevor du den Installer startest. Er fragt während der Einrichtung nach deiner Domain und schreibt sie in WEB_URL und CORS_ALLOWED_ORIGINS. Löst DNS noch nicht auf, schlägt die Zertifikatsausstellung fehl und du editierst hinterher Umgebungsdateien.

Lege einen A-Record für plane.example.com auf die IP-Adresse des VPS an und warte, bis er auflöst:

dig +short plane.example.com

Schritt 4: Den offiziellen Installer ausführen

Plane liefert ein einzelnes Installationsskript, das fertige Images zieht und eine verwaltete docker-compose.yaml schreibt:

curl -fsSL https://prime.plane.so/install/ | sh -

Das Skript fragt nach deiner Domain und bietet dann Express (Standardwerte) oder Advanced (einzelne Variablen setzbar) an. Für die erste Installation ist Express richtig. Danach läuft Plane auf den Ports 80 und 443, gesteuert über LISTEN_HTTP_PORT und LISTEN_HTTPS_PORT.

Eine Anmerkung zum Repository: Die docker-compose.yml im GitHub-Repo baut jeden Dienst aus dem Quellcode, statt Images zu ziehen. Das ist ein Workflow für Mitwirkende - ein Build braucht deutlich mehr RAM als der laufende Betrieb und wird auf einem 4-GB-VPS scheitern oder ins Swapping laufen. Nimm den Installer.

Rufe https://plane.example.com auf und lege das erste Konto an. Dieses Konto wird Administrator der Instanz; das Admin-Panel liegt unter /god-mode/, wo du SMTP, Registrierungsbeschränkungen und Authentifizierung konfigurierst.

Schritt 5: Die Teile sichern, auf die es ankommt

Zwei Dinge halten deine Daten: das PostgreSQL-Volume und das MinIO-Volume, in dem jeder Dateianhang liegt. Ein Snapshot des VPS deckt beides ab, aber ein Datenbank-Dump, den du gezielt zurückspielen kannst, ist Gold wert:

docker exec plane-db pg_dump -U plane plane | gzip > plane-$(date +%F).sql.gz

Kopiere den Dump vom Server herunter. Ein Backup, das auf der gesicherten Platte liegt, ist kein Backup.

VPS-Optionen für das Selbsthosting von Plane im Vergleich

AnbieterEinstiegstarif ab 4 GBPreis (pro Monat)AnmerkungenLink
ContaboCloud VPS 4 - 4 vCPU, 8 GB, 100 GB SSD5,50 EUR nettoGünstigster Weg zu den empfohlenen 8 GBContabo
Hetzner CloudCX23 - 2 vCPU, 4 GB, 40 GB NVMe5,49 EUR nettoErfüllt das Minimum; CX33 für 8,49 mit 8 GBHetzner
DigitalOcean2 vCPU, 4 GB, 80 GB SSD24 USDTeurer, aber Doku und Snapshots sind hier am bestenDigitalOcean
Vultr2 vCPU, 4 GB, 80 GB SSD20 USDDer günstigste der drei; große RegionsauswahlVultr
Linode (Akamai)2 vCPU, 4 GB, 80 GB SSD24 USDVorhersehbare Leistung, starke APILinode

Das Muster ist schwer zu übersehen: Die US-Anbieter verlangen 20 bis 24 USD für die 4-GB-Stufe, ungefähr das Drei- bis Vierfache des europäischen Gegenstücks. Für einen selbst gehosteten Issue-Tracker, der ohnehin ein Büro in einer Region bedient, ist dieser Abstand schwer zu rechtfertigen.

Das gesamte Feld findest du in unserem vollständigen VPS-Vergleich.

Wo Teams hängen bleiben

Dimensionierung nach der Produktseite statt nach der Doku. Plane sieht aus wie eine Web-App, verhält sich aber wie eine kleine Plattform. Vier GB sind die Untergrenze, nicht das Ziel.

SMTP überspringen. Ohne konfigurierten Mailversand in /god-mode/ kommen Einladungen nie an und du kannst niemanden in den Workspace holen. Richte das vor dem Onboarding ein.

MinIO im Backup vergessen. Nur Postgres zu sichern liefert dir jedes Issue und jeden Kommentar - ohne einen einzigen Anhang.

Plane lohnt den Aufwand, wenn dein Team ohnehin in einem Issue-Tracker lebt und nicht pro Kopf dafür zahlen möchte. Dimensioniere den Server ordentlich, lege die Backups woanders ab, und der Dienst läuft unauffällig vor sich hin.

Weitere Projekte und Tipps rund ums Selbsthosting findest du in der Liste awesome-selfhosted und in der Community r/selfhosted.

Frequently asked questions

Kann ich Plane auf einem VPS mit 1 GB oder 2 GB RAM selbst hosten?

Nein. Die Dokumentation von Plane setzt die Untergrenze bei 2 CPU-Kernen und 4 GB RAM, und der Compose-Stack der Community Edition startet dreizehn Container, darunter PostgreSQL, Valkey, RabbitMQ und MinIO. Auf einer 2-GB-Maschine läuft der Installer zwar durch, aber bei echter Nutzung werden Container wegen Speichermangel beendet. 4 GB sind das Minimum, 8 GB empfiehlt die Dokumentation für den Produktivbetrieb.

Wie aktualisiere ich Plane auf eine neuere Version?

Rufe das Verwaltungsskript auf, das der Installer auf dem Server abgelegt hat, und wähle die Upgrade-Option. Alternativ genügen im Installationsverzeichnis docker compose pull und anschließend docker compose up -d. Der migrator-Container führt beim Start die Datenbankmigrationen aus, lege also vorher einen PostgreSQL-Dump und einen Snapshot an. Lies zuerst die Release Notes, da größere Versionen gelegentlich Umgebungsvariablen ändern.

Brauche ich eine eigene Domain, um Plane zu betreiben?

In der Praxis ja. Der Installer fragt während der Einrichtung nach der Domain und schreibt sie in WEB_URL und CORS_ALLOWED_ORIGINS, worüber Frontend und API miteinander sprechen. Eine reine IP-Adresse funktioniert für einen lokalen Test, bricht aber die CORS-Konfiguration, sobald sich die Adresse ändert, und ohne Domain lässt sich kein Let's-Encrypt-Zertifikat ausstellen.