Portainer – Docker Management UI auf VPS einrichten 2026

Was ist Portainer und warum ist es 2026 auf einem VPS unverzichtbar?

Portainer ist eine leistungsstarke, webbasierte Open-Source-Verwaltungsoberfläche für Docker, Docker Swarm, Kubernetes und Podman. Im Jahr 2026 hat sich Portainer als Standard-Tool für Entwickler, DevOps-Engineers und Systemadministratoren etabliert, die Container-basierten Workloads auf einem Virtual Private Server (VPS) betreiben. Die intuitive Web-GUI ersetzt komplexe Kommandozeilen-Befehle und ermöglicht auch Einsteigern einen schnellen Einstieg in die Container-Welt.

Die Software läuft selbst als schlanker Docker-Container und benötigt nur minimale Ressourcen. Auf einem VPS mit 2 vCPUs und 4 GB RAM lässt sich Portainer problemlos parallel zu dutzenden produktiven Anwendungscontainern betreiben. Die Community Edition (CE) ist kostenlos und deckt bereits rund 90 Prozent der typischen Anwendungsfälle ab, während die Business Edition zusätzliche Enterprise-Features wie RBAC, Audit-Logs und Multi-Cluster-Management bietet.

Im Vergleich zur reinen CLI-Verwaltung von Docker bietet Portainer erhebliche Vorteile: Visuelle Übersicht aller laufenden Container, Echtzeit-Metriken zu CPU-, RAM- und Netzwerkauslastung, komfortables Log-Streaming direkt im Browser sowie ein integrierter App-Template-Katalog mit über 600 vorkonfigurierten Anwendungen. Gerade auf produktiven VPS-Instanzen zahlt sich die Zeitersparnis schnell aus.

Ein weiterer wichtiger Aspekt im Jahr 2026 ist die zunehmende Container-Dichte auf modernen VPS-Hosts. Während früher einzelne Anwendungen direkt auf dem Host liefen, werden heute Microservices, Datenbanken, Caches und Worker in separate Container aufgeteilt. Ohne ein Verwaltungstool wie Portainer verliert man schnell den Überblick und verbringt Stunden mit dem Troubleshooting.

Systemvoraussetzungen für Portainer auf einem VPS

Die minimalen Anforderungen an einen VPS für den Betrieb von Portainer sind erstaunlich gering. Portainer selbst benötigt lediglich einen einzigen schlanken Container, der mit etwa 100 MB RAM und minimaler CPU-Last auskommt. Für die zu verwaltenden Workloads sollte der VPS jedoch deutlich leistungsfähiger dimensioniert sein.

Als Faustregel empfiehlt hostazar.com für einen typischen Produktiv-VPS mindestens 4 vCPUs, 8 GB RAM und 80 GB NVMe-SSD-Speicher. Diese Konfiguration erlaubt es, neben Portainer noch 10 bis 20 produktive Container mit moderater Auslastung zu betreiben. Für größere Setups mit Kubernetes oder Docker Swarm empfehlen wir VPS-Tarife mit 8 vCPUs und 16 GB RAM.

Folgende Tabelle zeigt die empfohlenen Mindestanforderungen je nach Einsatzszenario:

EinsatzszenariovCPUsRAMStorageGeeignet für
Hobby / Entwicklung24 GB40 GB5-10 Container
Small Business48 GB80 GB10-25 Container
Produktiv / KMU816 GB160 GB25-50 Container
Enterprise / Swarm1632 GB320 GB50+ Container

Als Betriebssystem eignen sich Ubuntu 24.04 LTS, Debian 12 Bookworm, Rocky Linux 9 oder AlmaLinux 9. Diese Distributionen bieten aktuelle Docker-Pakete, lange Support-Zeiträume und eine hervorragende Community-Unterstützung. Wichtig ist, dass die jeweilige Distribution mit aktivierten cgroups v2 und einem modernen Kernel (5.15+) betrieben wird.

Schritt-für-Schritt: Portainer CE auf einem VPS installieren

Die Installation von Portainer Community Edition auf einem frischen VPS ist in wenigen Minuten erledigt. Voraussetzung ist ein laufender Docker-Daemon. Auf den meisten aktuellen Distributionen installieren Sie Docker mit dem offiziellen Convenience-Script.

Schritt 1: Aktualisieren Sie zunächst das System und installieren Sie grundlegende Pakete:

sudo apt update && sudo apt upgrade -y sudo apt install -y ca-certificates curl gnupg

Schritt 2: Fügen Sie das offizielle Docker-Repository hinzu und installieren Sie Docker Engine:

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 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 update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Schritt 3: Erstellen Sie das persistente Volume für Portainer und starten Sie den Container:

sudo docker volume create portainer_data sudo docker run -d -p 9443:9443 --name portainer \ --restart=always \ -v /var/run/docker.sock:/var/run/docker.sock \ -v portainer_data:/data \ portainer/portainer-ce:latest

Schritt 4: Nach dem Start erreichen Sie das Webinterface unter https://IHRE-VPS-IP:9443. Beim ersten Aufruf werden Sie aufgefordert, ein Admin-Passwort zu setzen. Wählen Sie ein sicheres Passwort mit mindestens 16 Zeichen, da dieses Konto vollen Zugriff auf alle Docker-Ressourcen erhält.

Schritt 5: Verbinden Sie nach der Initialisierung Ihre lokale Docker-Umgebung, indem Sie auf "Get Started" oder "Add Environment" klicken. Portainer erkennt automatisch den lokalen Docker-Socket und bietet an, diesen als "local" Environment zu registrieren.

Die wichtigsten Funktionen von Portainer im Überblick

Portainer bietet eine Vielzahl an Funktionen, die weit über das einfache Starten und Stoppen von Containern hinausgehen. Das Dashboard zeigt eine zentrale Übersicht aller verbundenen Umgebungen mit aktuellen Ressourcenverbräuchen, der Anzahl laufender Container, Images und Volumes.

Im Bereich "Containers" verwalten Sie einzelne Container mit allen relevanten Aktionen: Start, Stop, Restart, Kill, Pause sowie das Anzeigen von Logs in Echtzeit, das Öffnen einer Web-Konsole oder das Bearbeiten von Umgebungsvariablen. Besonders nützlich ist die Möglichkeit, einen neuen Container direkt aus einem Image zu erstellen, ohne einen docker run-Befehl auf der Kommandozeile absetzen zu müssen.

Der integrierte App-Template-Katalog enthält über 600 vorkonfigurierte Anwendungen wie Nextcloud, WordPress, Grafana, Node-RED, Vaultwarden und viele mehr. Mit wenigen Klicks lässt sich eine komplette Anwendung mit angepassten Volumes, Ports und Umgebungsvariablen deployen. Dies ist besonders für Einsteiger ein enormer Mehrwert.

Stacks erlauben das Deployment komplexer Multi-Container-Anwendungen über docker-compose.yml-Dateien. Portainer bietet einen integrierten Web-Editor mit Syntax-Highlighting und Validierung. Alternativ können Sie git-Repositories einbinden, um Stacks direkt aus einem GitHub- oder Gitea-Repository zu deployen – ideal für CI/CD-Workflows.

Docker Stack mit Portainer deployen

Das Deployment eines Docker Compose Stacks über Portainer ist eine der häufigsten Aufgaben. Wir zeigen dies am Beispiel eines typischen LAMP-ähnlichen Stacks mit Nginx, PHP-FPM und MariaDB.

Navigieren Sie zunächst in der Portainer-Weboberfläche zu "Stacks" im linken Menü und klicken Sie auf "Add stack". Vergeben Sie einen aussagekräftigen Namen wie "webapp-prod" und fügen Sie im Editor-Feld Ihre Compose-Definition ein:

version: "3.9" services: nginx: image: nginx:1.27-alpine ports: - "80:80" - "443:443" volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro - web_data:/var/www/html depends_on: - php restart: unless-stopped php: image: php:8.3-fpm-alpine volumes: - web_data:/var/www/html restart: unless-stopped mariadb: image: mariadb:11 environment: MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASS} MARIADB_DATABASE: ${DB_NAME} volumes: - db_data:/var/lib/mysql restart: unless-stopped volumes: web_data: db_data:

Im Bereich "Environment variables" können Sie sensible Werte wie Datenbank-Passwörter als Variablen hinterlegen. Diese werden in der Portainer-Datenbank verschlüsselt gespeichert und sind nicht im Klartext sichtbar. Alternativ nutzen Sie die Funktion "Use .env file", um eine externe Konfigurationsdatei einzubinden.

Nach dem Klick auf "Deploy the stack" startet Portainer die definierten Services in der angegebenen Reihenfolge. Der Status jedes Containers ist direkt im UI sichtbar. Fehlerhafte Deployments können mit einem Klick komplett zurückgerollt werden.

Ein großer Vorteil der Stack-Verwaltung in Portainer ist die Versionierung. Jede Änderung an einem Stack erzeugt einen neuen Eintrag in der Update-Historie, sodass Sie bei Problemen schnell auf eine frühere Version zurückkehren können. Dies ist insbesondere in produktiven Umgebungen ein wertvolles Sicherheitsnetz.

Sicherheit: Portainer absichern auf einem öffentlichen VPS

Ein Portainer-Instanz auf einem öffentlich erreichbaren VPS ist ein attraktives Ziel für Angreifer, da sie volle Kontrolle über alle laufenden Container bietet. Daher ist eine konsequente Absicherung unerlässlich. Die wichtigste Grundregel lautet: Niemals Portainer ohne TLS und ohne starkes Passwort betreiben.

Standardmäßig lauscht Portainer auf Port 9443 und bietet ein selbstsigniertes TLS-Zertifikat an. In Produktionsumgebungen empfehlen wir dringend, ein gültiges Let's-Encrypt-Zertifikat zu hinterlegen. Portainer akzeptiert Zertifikate in den Formaten PEM, CRT und KEY. Das Zertifikat wird beim Container-Start über die Umgebungsvariablen SSLCERT und SSLKEY eingebunden.

Setzen Sie unbedingt eine Firewall wie UFW oder nftables ein, um den Zugriff auf Port 9443 zu beschränken. Idealerweise erlauben Sie den Zugriff nur aus bestimmten IP-Bereichen oder über ein VPN wie WireGuard:

sudo ufw allow 22/tcp sudo ufw allow from 192.168.1.0/24 to any port 9443 proto tcp sudo ufw enable

Aktivieren Sie zusätzlich die Zwei-Faktor-Authentifizierung (2FA) in den Benutzereinstellungen. Portainer unterstützt TOTP-basierte Apps wie Google Authenticator, Authy oder 1Password. In der Business Edition kann 2FA auch global für alle Benutzer erzwungen werden.

Erstellen Sie individuelle Benutzerkonten mit minimalen Berechtigungen. Portainer bietet granulare Rollen wie Administrator, Operator und Viewer. Vermeiden Sie es, mehrere Personen mit dem Administrator-Konto arbeiten zu lassen. Audit-Logs (Business Edition) protokollieren alle sicherheitsrelevanten Aktionen und helfen bei der Compliance.

Monitoring und Ressourcenverbrauch mit Portainer

Portainer liefert von Haus aus grundlegende Metriken zu CPU-, RAM-, Netzwerk- und Disk-Auslastung pro Container. Diese Daten werden in Echtzeit aktualisiert und sind direkt im Container-Detail-View einsehbar. Für tiefergehende Analysen empfiehlt sich die Kombination mit einem dedizierten Monitoring-Stack.

Im Bereich "Container details" sehen Sie unter "Stats" Echtzeitgraphen zur Ressourcenauslastung. Diese Daten stammen direkt aus den cgroup-Metriken des Docker-Daemons. Für eine historische Auswertung reicht dies allerdings nicht aus – hier kommt Prometheus ins Spiel.

Ein typischer Monitoring-Stack in Kombination mit Portainer besteht aus folgenden Komponenten:

KomponenteFunktionImage
PrometheusMetrik-Sammlungprom/prometheus:latest
GrafanaVisualisierunggrafana/grafana:latest
cAdvisorContainer-Metrikengcr.io/cadvisor/cadvisor:latest
Node ExporterHost-Metrikenprom/node-exporter:latest
AlertmanagerAlarmierungprom/alertmanager:latest

Dieser Stack lässt sich bequem als Docker Compose Stack in Portainer deployen. Wir empfehlen, diesen in einem separaten Netzwerk vom produktiven Workload zu isolieren. Grafana bietet vorgefertigte Dashboards für Docker und cAdvisor, die per Import in Sekundenschnelle einsatzbereit sind.

Die Kombination aus Portainer als Verwaltungs-UI und Prometheus/Grafana als Monitoring-Lösung ist im Jahr 2026 der de-facto-Standard für VPS-basierte Container-Infrastrukturen. Wer beide Tools kombiniert, erhält eine umfassende Sicht auf alle Workloads und kann Probleme erkennen, bevor sie kritisch werden.

Backup-Strategien für Portainer und Docker-Volumes

Regelmäßige Backups sind das A und O jedes produktiven VPS-Setups. Portainer selbst speichert seine Konfiguration im Volume portainer_data. Der Verlust dieses Volumes bedeutet den Verlust aller Stacks, Benutzer, Secrets und Konfigurationen – ein Horrorszenario, das sich mit einfachen Mitteln vermeiden lässt.

Die simpelste Backup-Methode ist ein regelmäßiger Cronjob, der das Portainer-Volume als tar-Archiv auf einen externen Speicher kopiert:

#!/bin/bash BACKUP_DIR="/opt/backups/portainer" DATE=$(date +%Y%m%d_%H%M%S) docker run --rm \ -v portainer_data:/source:ro \ -v $BACKUP_DIR:/backup \ alpine tar czf /backup/portainer_$DATE.tar.gz -C /source . find $BACKUP_DIR -name "portainer_*.tar.gz" -mtime +14 -delete

Ergänzend sollten alle Anwendungs-Volumes in das Backup einbezogen werden. Tools wie borgbackup, duplicity oder restic bieten inkrementelle, verschlüsselte Backups mit Deduplikation. Diese Tools sind ideal, um große Volume-Mengen effizient zu sichern.

Für eine 3-2-1-Backup-Strategie empfehlen wir: Drei Kopien der Daten, auf zwei verschiedenen Medientypen, davon eine Kopie offsite (z. B. in einem Object-Storage wie Hetzner Storage Box, AWS S3 oder Backblaze B2). So sind Sie auch bei einem kompletten VPS-Ausfall oder Ransomware-Angriff abgesichert.

Testen Sie Ihre Backups regelmäßig durch Wiederherstellung in einer separaten Umgebung. Ein nicht getestetes Backup ist kein Backup, sondern nur eine Vermutung. Richten Sie einen monatlichen Restore-Test auf einer Test-VPS-Instanz ein, um die Wiederherstellungsdauer (RTO) und den Datenverlust (RPO) zu verifizieren.

Multi-Container-Anwendungen mit Stacks orchestrieren

Stacks sind das Herzstück der modernen Container-Orchestrierung in Portainer. Sie erlauben es, komplexe Multi-Container-Anwendungen deklarativ in einer einzigen docker-compose.yml-Datei zu beschreiben. Portainer kümmert sich um das Deployment, das Networking, die Volumes und die Lifecycle-Verwaltung.

Ein typischer Produktiv-Stack für eine Webanwendung könnte aus folgenden Services bestehen: Nginx als Reverse Proxy, die eigentliche Anwendung (z. B. Node.js oder Python), eine PostgreSQL-Datenbank, ein Redis-Cache und ein Worker-Container für Hintergrundjobs. Alle Services teilen sich ein privates Docker-Netzwerk und sind nur über Nginx von außen erreichbar.

Besonders mächtig ist die Möglichkeit, mehrere Stacks miteinander zu verknüpfen. Portainer erstellt für jeden Stack automatisch ein eigenes Netzwerk, das Sie explizit für andere Stacks freigeben können. So kann ein zentraler Datenbank-Stack von mehreren Anwendungs-Stacks genutzt werden, ohne dass die Konfiguration dupliziert werden muss.

Mit der Funktion "Container presets" (Business Edition) lassen sich Standardkonfigurationen für neue Container definieren, etwa Standard-Umgebungsvariablen, Labels oder Ressourcen-Limits. Dies spart Zeit und reduziert Konfigurationsfehler in größeren Umgebungen mit vielen ähnlichen Workloads.

Portainer im Vergleich zu Alternativen im Jahr 2026

Der Markt für Container-Management-Tools ist 2026 vielfältiger denn je. Portainer ist nicht die einzige Option, und je nach Anforderung können Alternativen besser geeignet sein. Wir vergleichen die populärsten Lösungen.

Yacht ist eine schlanke, in TypeScript geschriebene Alternative mit moderner UI. Es ist ressourcenschonender als Portainer, bietet aber weniger Funktionen und keine Stack-Verwaltung. Für reine Hobby-Projekte ist Yacht eine Überlegung wert.

Docker Desktop enthält mit dem Docker Dashboard ebenfalls eine grafische Verwaltung, ist aber auf den lokalen Entwickler-Workstation-Use-Case beschränkt. Für VPS-Setups ist Docker Desktop nicht geeignet.

OpenLens und Lens IDE richten sich primär an Kubernetes-Anwender. Sie sind deutlich mächtiger, aber auch komplexer. Wer Kubernetes produktiv betreibt, kommt an Lens kaum vorbei – für reines Docker-Swarm-Management ist Portainer jedoch die bessere Wahl.

Rancher ist die Enterprise-Variante von SUSE und richtet sich an Multi-Cluster-Kubernetes-Setups mit hunderten Nodes. Für die meisten VPS-Anwender ist Rancher überdimensioniert. Die folgende Tabelle fasst die wichtigsten Unterschiede zusammen:

ToolZielgruppeKomplexitätRessourcenLizenz
Portainer CEDevs, Admins, KMUNiedrigNiedrigOpen Source
YachtHobby, kleine ProjekteSehr niedrigMinimalMIT
LensKubernetes-AdminsMittelMittelOpen Source
RancherEnterpriseHochHochOpen Source
Kubernetes DashboardKubernetes-UserMittelNiedrigApache 2.0

Für die meisten VPS-Anwender im Jahr 2026 bleibt Portainer die erste Wahl. Die Kombination aus einfacher Bedienung, geringem Ressourcenverbrauch, großem Funktionsumfang und einer aktiven Community macht das Tool zur idealen Wahl zwischen Kommandozeile und vollwertigen Enterprise-Lösungen.

Fazit: Portainer auf einem VPS 2026 – lohnt sich der Aufwand?

Die Antwort ist eindeutig: Ja, Portainer lohnt sich auf jedem VPS, auf dem Docker-Container betrieben werden. Die Investition von rund 15 Minuten für die initiale Installation zahlt sich bereits ab dem ersten produktiven Deployment durch Zeitersparnis, weniger Fehler und bessere Übersicht aus.

Besonders wertvoll ist Portainer in Kombination mit einem durchdachten Backup-Konzept, einem Monitoring-Stack aus Prometheus und Grafana sowie einer soliden Sicherheitsstrategie. Wer diese vier Säulen kombiniert, betreibt eine professionelle, skalierbare und vor allem wartbare Container-Infrastruktur auf einem VPS.

hostazar.com empfiehlt für Einsteiger die Community Edition, die alle Grundfunktionen kostenlos bereitstellt. Wer wächst und die Business-Features wie RBAC, Audit-Logs und Multi-Cluster-Management benötigt, kann später nahtlos auf die kommerzielle Variante umsteigen, ohne den Datenstand zu verlieren.

Der Einstieg in die Container-Welt war noch nie so einfach wie heute. Mit einem soliden VPS, installiertem Docker und Portainer als Verwaltungs-UI steht Ihrem produktiven Setup nichts mehr im Wege. Viel Erfolg mit Ihren Containern!

Was ist Portainer und warum ist es 2026 unverzichtbar?

Portainer hat sich in den letzten Jahren als führende Weboberfläche für die Container-Verwaltung etabliert und ist auch 2026 das bevorzugte Tool, wenn es darum geht, Docker-Umgebungen komfortabel über ein grafisches Interface zu steuern. Im Kern handelt es sich um eine schlanke, in Go geschriebene Software, die auf dem Docker Socket aufsetzt und Administratoren eine intuitive Benutzeroberfläche bietet, um Container, Images, Volumes und Netzwerke zu verwalten – ohne jede Aktion über die Kommandozeile ausführen zu müssen.

Besonders auf einem eigenen VPS eröffnet Portainer völlig neue Möglichkeiten. Während man bei gemanagten Cloud-Diensten oft an proprietäre Oberflächen gebunden ist, behält man mit Portainer die volle Kontrolle über seine Infrastruktur. Das Open-Source-Projekt wird von einer aktiven Community gepflegt, regelmäßig aktualisiert und bietet sowohl eine kostenlose Community Edition als auch eine kommerzielle Business Edition mit erweiterten Funktionen wie RBAC, Audit-Logs und Multi-Cluster-Management.

Die Architektur von Portainer ist bewusst minimal gehalten. Ein einzelner Container stellt die Weboberfläche bereit und kommuniziert intern mit dem Docker Daemon. Dadurch ist die Installation in unter zwei Minuten erledigt, und die Ressourcenanforderungen sind selbst auf kleinen VPS-Instanzen mit 2 GB RAM absolut vertretbar. Die Software unterstützt neben Docker auch Docker Swarm, Kubernetes (über die integrierte Edge-Agent-Funktion) und Podman, was sie zu einem zukunftssicheren Werkzeug für hybride Container-Setups macht.

Systemanforderungen für Portainer auf einem VPS

Bevor wir mit der Installation beginnen, ist es wichtig, die minimalen und empfohlenen Systemanforderungen zu kennen. Die gute Nachricht: Portainer ist extrem ressourcenschonend. Die offizielle Dokumentation empfiehlt mindestens 1 GB freien RAM und einen modernen Linux-Kernel (ab Version 4.x), wobei auf aktuellen Distributionen wie Ubuntu 22.04, Debian 12 oder AlmaLinux 9 keinerlei Probleme zu erwarten sind.

KomponenteMinimumEmpfohlenHinweis
CPU1 vCore2 vCoresMehr Kerne bei vielen parallelen Builds
RAM1 GB2–4 GBReine Portainer-Instanz benötigt ~100 MB
Speicher10 GB SSD40 GB NVMeFür Images und persistente Volumes
Docker Engine20.10+26.x oder neuerCE oder EE beide kompatibel
BetriebssystemUbuntu 20.04Ubuntu 24.04 / Debian 12Linux-Distributionen vollständig unterstützt

Bei der Wahl des VPS-Anbieters sollte man darauf achten, dass NVMe-Speicher und KVM-Virtualisierung verfügbar sind. KVM garantiert, dass verschachtelte Virtualisierung problemlos funktioniert – wichtig, falls man später einmal Docker-in-Docker-Setups oder Kubernetes-Cluster aufsetzen möchte. Prominente Anbieter wie Hetzner, Netcup oder Contabo bieten solche Konfigurationen bereits ab wenigen Euro pro Monat an.

Wer Portainer in einer produktiven Umgebung einsetzt, sollte zusätzlich ein Backup-Konzept für die Portainer-Daten einplanen. Die Konfigurationsdaten werden im Volume portainer_data gespeichert und sollten regelmäßig gesichert werden, da bei einem Verlust sämtliche Stacks, Container-Konfigurationen und Benutzerzugänge verloren gehen.

Portainer Schritt für Schritt installieren

Die Installation von Portainer ist erfreulich unkompliziert. Zunächst stellen wir sicher, dass Docker auf dem VPS installiert ist. Falls noch nicht geschehen, lässt sich dies mit einem einzigen Befehl auf Ubuntu- oder Debian-Systemen nachholen.

Wir aktualisieren die Paketlisten und installieren die benötigten Abhängigkeiten:

sudo apt update && sudo apt upgrade -y
sudo apt install -y ca-certificates curl gnupg

Anschließend fügen wir das offizielle Docker-Repository hinzu und installieren die Docker Engine:

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

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 update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Nach erfolgreicher Installation starten wir das Docker-Subsystem und aktivieren es für den automatischen Start:

sudo systemctl enable --now docker
sudo systemctl status docker

Nun erstellen wir das persistente Volume für Portainer und starten den Container. Wichtig: Der Port 9443 ist der Standardport für das Webinterface und sollte in der Firewall freigegeben werden.

docker volume create portainer_data
docker run -d \
  -p 8000:8000 \
  -p 9443:9443 \
  --name portainer \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce:latest

Nach wenigen Sekunden ist Portainer unter https://<DEINE-VPS-IP>:9443 erreichbar. Beim ersten Aufruf legt man ein Administratorkonto an, das aus Sicherheitsgründen aus mindestens 12 Zeichen bestehen sollte. Direkt nach dem Login kann man zwischen der lokalen Docker-Umgebung und entfernten Agents wählen – wir wählen zunächst „Get Started", um die lokale Umgebung zu verwalten.

Die wichtigsten Funktionen im Überblick

Portainer gliedert seine Oberfläche in mehrere logische Bereiche, die jeweils unterschiedliche Aspekte der Container-Verwaltung abdecken. Das Dashboard bietet einen schnellen Überblick über laufende Container, Ressourcenverbrauch und Systemzustand. Dabei werden CPU-, RAM- und Netzwerkauslastung in Echtzeit visualisiert, sodass Engpässe sofort erkennbar sind.

Im Bereich „Containers" lassen sich sämtliche laufenden, gestoppten und pausierten Container einsehen. Pro Container hat man Zugriff auf Logs, Statistiken, Console-Output, Dateibrowser und die Möglichkeit, einzelne Container zu starten, zu stoppen, neu zu starten oder zu klonen. Auch das Anlegen neuer Container erfolgt geführt über ein Formular, in dem Image, Ports, Volumes, Umgebungsvariablen, Netzwerke und Ressourcenlimits komfortabel konfiguriert werden.

Besonders mächtig ist die Stacks-Funktion. Hierbei handelt es sich um docker-compose-konforme Deployments, die als zusammenhängende Anwendung verwaltet werden. Anstatt also manuell mehrere Container zu starten und miteinander zu verknüpfen, hinterlegt man ein docker-compose.yml im Stack und Portainer kümmert sich um die gesamte Orchestrierung. Ein typischer Stack für eine Webanwendung könnte aus Reverse-Proxy, Anwendungscontainer und Datenbank bestehen.

FunktionZweckFür Einsteiger?
App TemplatesVorgefertigte Stacks (WordPress, Nextcloud, etc.)Ja
Stacksdocker-compose DeploymentsMittel
ServicesDocker Swarm Mode VerwaltungFortgeschritten
ClusterKubernetes Edge-ManagementProfi
RegistriesDocker Hub, private RegistriesJa

Die Sektion „Images" erlaubt das Pullen neuer Images aus konfigurierten Registries, das Löschen nicht benötigter Images sowie das Verwalten von Build-Cache. Wer eigene Images aus einem Git-Repository bauen möchte, kann hierfür den integrierten Build-Endpoint nutzen, der mit Dockerfile- und Buildkit-Syntax kompatibel ist.

Sicherheit: Portainer absichern und Härtung

Ein öffentlich erreichbares Portainer-Interface ist ein attraktives Angriffsziel. Wer Portainer auf einem VPS betreibt, sollte daher unbedingt einige grundlegende Sicherheitsmaßnahmen umsetzen. An oberster Stelle steht die Verwendung eines Reverse Proxies mit TLS-Verschlüsselung, idealerweise in Kombination mit automatischer Zertifikatsverwaltung über Let's Encrypt.

Traefik, Caddy oder Nginx lassen sich problemlos vor Portainer schalten. Das nachfolgende Beispiel zeigt eine Traefik-Konfiguration mit automatischer TLS-Ausstellung und IP-Whitelist:

http:
  routers:
    portainer:
      rule: "Host(`portainer.deine-domain.de`)"
      service: portainer
      entryPoints: websecure
      tls:
        certresolver: letsencrypt
  services:
    portainer:
      loadBalancer:
        servers:
          - url: "http://portainer:9000"

Neben TLS sollte man das initiale Admin-Konto nach der Erstellung durch reguläre Benutzerkonten mit eingeschränkten Rechten ersetzen. Portainer bietet ein differenziertes Rollenmodell mit Environment Administrator, Operator und Read-Only User. Für produktive Setups empfiehlt es sich, mehrere Umgebungen anzulegen und pro Projekt eigene Zugriffsrechte zu vergeben.

SicherheitsmaßnahmePrioritätAufwand
TLS über Reverse ProxyHochNiedrig
2FA für alle BenutzerHochNiedrig
Fail2Ban / IP-WhitelistingHochMittel
Regelmäßige UpdatesHochNiedrig
Backup von portainer_dataMittelMittel

Die Aktivierung der Zwei-Faktor-Authentifizierung (2FA) ist eine der wirksamsten Maßnahmen gegen Brute-Force-Angriffe. Portainer unterstützt TOTP-basierte 2FA mit Apps wie Google Authenticator, Authy oder 1Password. Für zusätzlichen Schutz lässt sich der Login-Endpoint über auth_settings in der Konfiguration auch komplett deaktivieren, sodass ein neuer Admin nur über das docker exec-Kommando wieder angelegt werden kann.

Stacks und docker-compose: Best Practices

Wer mehrere zusammenhängende Container betreibt, kommt um das Konzept der Stacks nicht herum. Ein Stack bündelt mehrere Services, die über docker-compose gestartet, gestoppt und aktualisiert werden. Portainer erkennt docker-compose.yml-Dateien automatisch und stellt sie als verwaltbare Einheit dar.

Ein typischer produktiver Stack für ein Webprojekt könnte so aussehen:

version: "3.9"
services:
  web:
    image: nginx:alpine
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./html:/usr/share/nginx/html:ro
      - ./conf:/etc/nginx/conf.d:ro
    depends_on:
      - app
    restart: unless-stopped

  app:
    image: ghcr.io/dein-user/deine-app:latest
    environment:
      - DATABASE_URL=postgresql://app:secret@db:5432/appdb
    depends_on:
      - db
    restart: unless-stopped

  db:
    image: postgres:16-alpine
    environment:
      POSTGRES_DB: appdb
      POSTGRES_USER: app
      POSTGRES_PASSWORD: secret
    volumes:
      - db_data:/var/lib/postgresql/data
    restart: unless-stopped

volumes:
  db_data:

Bei der Arbeit mit Stacks empfiehlt es sich, alle Konfigurationen in einem Git-Repository zu versionieren. Portainer kann Stacks direkt aus einem Git-Repository ausrollen und unterstützt sowohl öffentliche als auch private Repositories mit SSH- oder Token-basierter Authentifizierung. Dadurch lassen sich Stacks deklarativ beschreiben und bei jedem git push automatisch aktualisieren – ein großer Schritt in Richtung GitOps.

Eine weitere Best Practice ist die Nutzung von Secrets und Configs statt der direkten Einbettung von Passwörtern in docker-compose.yml. Portainer erlaubt die zentrale Verwaltung von Secrets, die dann verschlüsselt an die Container ausgeliefert werden. So bleiben sensible Daten auch dann geschützt, wenn das compose-File versehentlich in einem öffentlichen Repository landet.

Portainer mit mehreren Hosts: Edge Agents und Remote Umgebungen

Eine der größten Stärken von Portainer ist die Fähigkeit, mehrere Docker-Hosts zentral zu verwalten. Während man in der Anfangszeit oft ein Dutzend VPS-Instanzen einzeln per SSH konfigurieren musste, kann man heute mit Portainer Edge Agents eine beliebige Anzahl entfernter Hosts über eine einzige Oberfläche orchestrieren. Dies ist besonders für MSPs, Agenturen und Entwicklerteams interessant, die verteilte Infrastruktur betreiben.

Ein Edge Agent ist ein leichtgewichtiger Container, der auf dem Remote-Host ausgeführt wird und eine ausgehende, verschlüsselte Verbindung zum Portainer-Server aufbaut. Dadurch ist es nicht nötig, eingehende Ports auf den Remote-Hosts freizugeben – ein nicht zu unterschätzender Sicherheitsvorteil. Die Registrierung neuer Agents erfolgt über ein einmaliges Pairing-Token.

docker run -d \
  -p 9443:9443 \
  --name portainer_edge_agent \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_agent_data:/data \
  portainer/agent:latest

Nach dem Start des Agents taucht der Remote-Host automatisch in der Portainer-Oberfläche auf und kann einer Umgebung hinzugefügt werden. Administratoren haben dann die Möglichkeit, Stacks auf dem Remote-Host auszurollen, Logs zentral einzusehen und Container zu verwalten – als wäre es der lokale Docker Daemon. Die Latenz ist dabei minimal, da die Kommunikation über einen persistenten Websocket-Tunnel läuft.

SetupVerbindungstypFirewall-FreigabeSicherheit
Lokale UmgebungDocker SocketKeineSehr hoch
Standard AgentTCP9001 eingehendHoch
Edge AgentWebSocket (ausgehend)KeineSehr hoch
Kubernetes via EdgeWebSocket (ausgehend)KeineSehr hoch

Für Setups mit Dutzenden oder Hunderten Hosts empfiehlt sich der Einsatz von Edge Groups. Diese ermöglichen die Bündelung mehrerer Agents zu logischen Gruppen, auf denen dann gemeinsam Stacks ausgerollt werden. Ein typisches Szenario wäre eine Gruppe „Webserver-EU" und „Webserver-US", auf denen identische Stacks deployt werden, aber mit unterschiedlichen Konfigurationen für Loadbalancer und Datenbank-Endpunkte.

Backup und Disaster Recovery

Auch die beste Container-Infrastruktur ist nur so zuverlässig wie ihr Backup-Konzept. Portainer selbst speichert seine Konfiguration im Volume portainer_data. Dieses Volume sollte regelmäßig gesichert werden, da sonst bei einem Hardware-Defekt des VPS die gesamte Konfiguration verloren geht.

Ein einfaches Backup lässt sich mit dem nachfolgenden Skript automatisieren:

#!/bin/bash
BACKUP_DIR="/var/backups/portainer"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR

docker stop portainer
docker run --rm \
  --volumes-from portainer \
  -v $BACKUP_DIR:/backup \
  busybox tar cvf /backup/portainer_$DATE.tar /data
docker start portainer

# Alte Backups löschen (älter als 14 Tage)
find $BACKUP_DIR -name "portainer_*.tar" -mtime +14 -delete

Für eine ganzheitliche Backup-Strategie empfiehlt sich die 3-2-1-Regel: Drei Kopien der Daten, auf zwei verschiedenen Medientypen, mit einer Kopie offsite. Auf einem VPS lässt sich dies mit Offsite-Backups in einen Object Storage wie Hetzner Storage Box, Backblaze B2 oder S3-kompatible Dienste realisieren. Tools wie restic oder rclone automatisieren den verschlüsselten Transfer.

Nicht vergessen sollte man das Backup der persistenten Volumes der produktiven Container. Während Portainer-Konfiguration wiederherstellbar ist, sind Daten in Datenbank-Volumes oft nicht reproduzierbar. Ein dediziertes Backup-Setup mit pg_dump für PostgreSQL, mysqldump für MySQL oder Volume-Snapshots via Restic sollte daher zum Pflichtprogramm gehören.

Updates und Wartung von Portainer

Portainer wird in einem agilen Releasezyklus aktualisiert, wobei alle paar Wochen eine neue Version erscheint. Sicherheitsupdates werden dabei priorisiert und oft per Minor-Release verteilt. Die Aktualisierung selbst ist denkbar einfach, da Portainer als einzelner Container betrieben wird.

Der Standard-Update-Prozess sieht wie folgt aus:

docker pull portainer/portainer-ce:latest
docker stop portainer
docker rm portainer
docker run -d \
  -p 8000:8000 \
  -p 9443:9443 \
  --name portainer \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce:latest

Wer seine Updates noch eleganter gestalten möchte, kann auf Watchtower oder ein eigenes kleines Update-Skript zurückgreifen. Watchtower beobachtet laufende Container und aktualisiert sie automatisch, sobald ein neues Image in der Registry verfügbar ist. Für Portainer selbst empfiehlt sich ein kontrolliertes Vorgehen, um bei einem fehlerhaften Update schnell auf die vorherige Version zurückrollen zu können.

Vor jedem Update sollte ein Backup des portainer_data-Volumes erstellt werden. In den Release-Notes, die im Portainer-Blog und auf GitHub veröffentlicht werden, findet man Hinweise auf Breaking Changes, neue Funktionen und Migrationsschritte. Wer einen produktiven Cluster betreibt, sollte Updates zunächst auf einer Testumgebung validieren, bevor sie in der Produktion ausgerollt werden.

Portainer vs. Alternativen: Was passt zu wem?

Neben Portainer gibt es eine Reihe weiterer Tools, die ebenfalls die Verwaltung von Docker-Containern vereinfachen. Die bekanntesten Alternativen sind Yacht, Dockge, CasaOS und das kommerzielle Rancher. Jedes dieser Tools hat seine eigenen Stärken, richtet sich aber an leicht unterschiedliche Zielgruppen.

ToolOpen SourceZielgruppeBesonderheit
Portainer CEJaEinsteiger bis ProfisGroßes Ökosystem, Multi-Host
YachtJaHeim-AnwenderModernes UI, klein
DockgeJaCompose-Fansdocker-compose Fokus
CasaOSJaHeimserverApp-Store, sehr einsteigerfreundlich
RancherJaEnterpriseSchwerpunkt Kubernetes

Wer einen einzelnen VPS betreibt und eine ausgewogene Mischung aus Funktionsvielfalt und Benutzerfreundlichkeit sucht, ist mit Portainer gut beraten. Yacht und CasaOS richten sich eher an Heim-Anwender, die einen Heimserver in Eigenregie betreiben, während Dockge besonders für Nutzer interessant ist, die ohnehin hauptsächlich mit docker-compose arbeiten. Rancher wiederum ist die richtige Wahl, wenn Kubernetes im Mittelpunkt steht – hierfür gibt es mit Portainer allerdings mittlerweile durchaus konkurrenzfähige Lösungen.

Ein oft unterschätzter Vorteil von Portainer ist das ausgereifte Rechte- und Benutzermanagement. Während viele alternative Tools maximal lokale Administrationskonten unterstützen, erlaubt Portainer die Anlage mehrerer Benutzer mit fein granulierten Berechtigungen, LDAP/AD-Anbindung und OAuth-Integration. Dies macht Portainer auch für den Einsatz in kleinen und mittelständischen Unternehmen zur ersten Wahl.

Fazit: Lohnt sich Portainer auf einem VPS?

Die Antwort lautet eindeutig: Ja, Portainer ist 2026 das Mittel der Wahl, um Docker-Umgebungen auf einem VPS produktiv, sicher und wartbar zu betreiben. Die Kombination aus einfacher Installation, ausgereifter Weboberfläche, Multi-Host-Fähigkeit und aktivem Open-Source-Ökosystem ist auf dem Markt nahezu einzigartig. Wer einmal mit Portainer gearbeitet hat, möchte die Kommandozeile für Routineaufgaben nicht mehr missen.

Gleichzeitig ersetzt Portainer die Kommandozeile nicht vollständig. Fortgeschrittene Debugging-Sessions, komplexe Netzwerkkonfigurationen oder das Troubleshooting von Performance-Problemen erfordern weiterhin den direkten Zugriff per SSH. Portainer versteht sich daher am besten als Ergänzung zur Kommandozeile – eine visuelle Oberfläche für den schnellen Überblick und die alltäglichen Wartungsaufgaben.

Wer noch keinen VPS hat und Portainer ausprobieren möchte, kann dies in wenigen Minuten mit einer kleinen Instanz tun. Anbieter wie Hetzner, Netcup oder IONOS stellen Server mit Portainer-Vorinstallationen bereit, und auch über die gängigen Cloud-Plattformen lässt sich Portainer in unter zehn Minuten deployen. Die Lernkurve ist flach, der Funktionsumfang groß – ein ideales Werkzeug für alle, die Container-Technologie produktiv einsetzen möchten.

Portainer auf einem VPS einrichten: Das ultimative Docker-Management für 2026

Docker hat die Art und Weise, wie wir Anwendungen entwickeln, deployen und betreiben, grundlegend revolutioniert. Doch mit der wachsenden Zahl von Containern wird das Management auf der Kommandozeile schnell unübersichtlich. Hier kommt Portainer ins Spiel: Die webbasierte Verwaltungsoberfläche macht die Container-Administration auch für weniger Linux-Experten zugänglich und bietet gleichzeitig Power-Usern tiefe Kontrolle über alle Docker-Ressourcen.

In diesem umfassenden Guide zeigen wir Ihnen Schritt für Schritt, wie Sie Portainer auf einem hostazar.com VPS installieren, konfigurieren und produktiv nutzen. Wir decken sowohl die Community Edition (CE) als auch die kommerzielle Business Edition ab, gehen auf Sicherheitsaspekte ein und zeigen typische Workflows aus der Praxis.

Portainer hat sich seit seiner ersten Veröffentlichung 2017 zum De-facto-Standard für Docker-Management-GUIs entwickelt. Mit über 25 Millionen Downloads und einer aktiven Community ist die Lösung ausgereift, stabil und wird kontinuierlich weiterentwickelt. Die Version 2.x bringt umfassende Kubernetes-Unterstützung mit, sodass Sie später bei Bedarf problemlos in die Cloud-native-Welt wechseln können.

Was ist Portainer und warum brauchen Sie es?

Portainer ist eine Open-Source-Container-Management-Plattform, die als leichtgewichtige Weboberfläche auf Docker aufsetzt. Es abstrahiert die Komplexität der Docker-CLI und bietet eine intuitive Benutzeroberfläche für die Verwaltung von Containern, Images, Netzwerken, Volumes und Stacks. Im Kern besteht Portainer aus zwei Komponenten: dem Portainer-Server (einem schlanken Go-basierten Backend) und dem Portainer-Agent, der optional auf entfernten Docker-Hosts läuft.

Die Vorteile liegen auf der Hand: Administratoren müssen nicht mehr jede Container-Aktion über die Kommandozeile ausführen, sondern erledigen die meisten Aufgaben bequem im Browser. Portainer bietet außerdem Multi-User-Management mit rollenbasierter Zugriffskontrolle, was besonders für Teams und Agenturen interessant ist. Sie können mehrere Docker-Umgebungen (lokal, remote, Swarm, Kubernetes) zentral verwalten und behalten jederzeit den Überblick über Ressourcenverbrauch und Logs.

Für wen lohnt sich Portainer besonders? Wenn Sie auf einem vServer 5-10 oder mehr Container betreiben, ist die Kommandozeile ineffizient. Auch für Entwickler, die ihre Stacks visuell verwalten möchten, ist Portainer ein riesiger Produktivitätsgewinn. Und wenn Sie Kunden oder Kollegen Zugriff auf bestimmte Container geben möchten, ohne ihnen Root-Rechte zu erteilen, ist die rollenbasierte Zugriffskontrolle von Portainer Gold wert.

Systemvoraussetzungen und Vorbereitung

Bevor wir mit der Installation beginnen, sollten wir die Systemvoraussetzungen klären. Portainer selbst ist extrem ressourcenschonend: Der Server-Container benötigt etwa 50-100 MB RAM und vernachlässigbare CPU-Ressourcen. Die Anforderungen an den Host-Server werden also primär durch die zu verwaltenden Container bestimmt, nicht durch Portainer selbst.

Als Mindestvoraussetzung empfehlen wir einen vServer mit 2 vCPUs, 4 GB RAM und 50 GB SSD-Speicher. Für produktive Umgebungen mit vielen Containern sollten Sie 4 vCPUs und 8 GB RAM einplanen. hostazar.com bietet verschiedene VPS-Tarife, die diese Anforderungen erfüllen – vom Einsteiger-Tariff bis hin zu leistungsstarken Dedicated-Resources-Varianten.

Komponente Mindestanforderung Empfohlen (Produktiv)
CPU 2 vCPUs 4+ vCPUs
RAM 2 GB 8 GB+
Speicher 20 GB 100 GB+ SSD
Docker Version 20.10+ Aktuelle LTS-Version
Betriebssystem Ubuntu 22.04 LTS Ubuntu 24.04 LTS

Bevor Sie Portainer installieren, sollten Sie unbedingt ein aktuelles Betriebssystem mit allen Sicherheitsupdates einspielen. Auf einem frisch aufgesetzten Ubuntu 24.04 LTS sind Docker und Portainer in unter 10 Minuten installiert und einsatzbereit. Wir empfehlen, vor der Portainer-Installation ein regelmäßiges Backup-Setup einzurichten – denn Portainer selbst verwaltet keine Backups, sondern nur die Container.

Docker-Installation auf einem frischen VPS

Die Installation von Docker auf einem modernen Linux-System ist erfreulich unkompliziert. Auf Ubuntu 24.04 LTS gehen Sie wie folgt vor: Zunächst aktualisieren Sie das System und installieren die nötigen Voraussetzungen, danach fügen Sie das offizielle Docker-Repository hinzu und installieren die Docker Engine samt CLI und Containerd-Runtime.

# System aktualisieren
sudo apt update && sudo apt upgrade -y

# Voraussetzungen installieren
sudo apt install -y ca-certificates curl gnupg

# Docker GPG-Key hinzufügen
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

# Docker-Repository einrichten
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

# Docker installieren
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io \
  docker-buildx-plugin docker-compose-plugin

# Docker-Dienst starten und aktivieren
sudo systemctl enable --now docker

# Aktuellen Benutzer zur Docker-Gruppe hinzufügen
sudo usermod -aG docker $USER
newgrp docker

# Installation verifizieren
docker --version
docker run hello-world

Nach der Installation empfehlen wir einen Neustart oder zumindest eine neue SSH-Session, damit die Gruppenmitgliedschaft wirksam wird. Der Test-Befehl "docker run hello-world" lädt ein kleines Test-Image herunter und führt es aus – wenn Sie eine "Hello from Docker!"-Nachricht sehen, ist alles bereit für die Portainer-Installation.

Portainer CE installieren und konfigurieren

Die Portainer-Installation selbst ist ein Einzeiler, da das gesamte Produkt als Docker-Container ausgeliefert wird. Wir verwenden die Community Edition (CE), die für die meisten Anwendungsfälle völlig ausreichend ist. Für die persistente Speicherung von Portainer-Daten wird ein benanntes Volume verwendet, das auf dem Host-System als /var/lib/docker/volumes/portainer_data gemountet wird.

# Portainer-Volume erstellen
docker volume create portainer_data

# Portainer-Container starten
docker run -d \
  -p 9443:9443 \
  --name portainer \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce:latest

# Container-Status prüfen
docker ps
docker logs portainer

Nach dem Start des Containers ist Portainer unter https://ihre-server-ip:9443 erreichbar. Beim ersten Aufruf werden Sie aufgefordert, ein Admin-Passwort zu setzen – wählen Sie hier unbedingt ein starkes Passwort mit mindestens 12 Zeichen, idealerweise generiert durch einen Passwort-Manager. Direkt nach der Anmeldung landen Sie im Portainer-Dashboard und können die lokale Docker-Umgebung verwalten.

Ein wichtiger Sicherheitshinweis: Das Mounten des Docker-Sockets (/var/run/docker.sock) gibt Portainer volle Kontrolle über alle Docker-Ressourcen des Hosts. Das ist gewollt und nötig, sollte aber bedacht werden. Für maximale Sicherheit in Produktionsumgebungen empfehlen wir, den Portainer-Agent auf einem separaten Docker-Host zu installieren und den Socket-Zugriff zu beschränken.

Die Portainer-Benutzeroberfläche im Überblick

Nach der Anmeldung präsentiert sich Portainer mit einer klar strukturierten Oberfläche. Die linke Seitenleiste bietet Zugriff auf die wichtigsten Bereiche: Home (Übersicht aller Umgebungen), Environments, Containers, Images, Networks, Volumes, Stacks, Users, Settings. Das Home-Dashboard zeigt auf einen Blick CPU- und RAM-Auslastung, Anzahl der Container und warnt vor potenziellen Problemen.

Im Bereich "Containers" finden Sie eine tabellarische Übersicht aller laufenden und gestoppten Container mit Spalten für Name, Status, Image, IP-Adresse, Ports und Erstellungsdatum. Per Klick auf einen Container gelangen Sie zu detaillierten Informationen wie Logs, Ressourcenverbrauch, Netzwerkkonfiguration und können Aktionen wie Start, Stop, Neustart oder Löschen ausführen.

Besonders mächtig ist der "Stacks"-Bereich: Hier können Sie komplette Docker-Compose-Stacks hochladen oder direkt im integrierten Web-Editor verfassen, mit einem Klick deployen und bei Bedarf aktualisieren. Das ist besonders für Multi-Container-Anwendungen wie Nextcloud, WordPress mit Datenbank oder Monitoring-Stacks mit Prometheus und Grafana ein riesiger Vorteil gegenüber der manuellen Kommandozeile.

Container und Stacks produktiv verwalten

Das Deployment eines neuen Containers ist in Portainer denkbar einfach: Über "Containers > Add Container" gelangen Sie zu einem Formular, in dem Sie Image, Ports, Volumes, Umgebungsvariablen und viele weitere Optionen konfigurieren können. Alternativ können Sie einen Stack über "Stacks > Add Stack" definieren und dort ein docker-compose.yml einfügen oder direkt im Editor verfassen.

# Beispiel: WordPress-Stack in Portainer
version: '3.8'
services:
  wordpress:
    image: wordpress:6.6
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wp_user
      WORDPRESS_DB_PASSWORD: sicheres-passwort
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wordpress_data:/var/www/html
    depends_on:
      - db
  db:
    image: mariadb:11
    environment:
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wp_user
      MYSQL_PASSWORD: sicheres-passwort
      MYSQL_ROOT_PASSWORD: root-passwort
    volumes:
      - db_data:/var/lib/mysql
volumes:
  wordpress_data:
  db_data:

Nach dem Klick auf "Deploy the Stack" lädt Portainer die Images herunter, erstellt die Container, konfiguriert die Volumes und startet den Stack. Der gesamte Vorgang dauert je nach Image-Größen zwischen 30 Sekunden und wenigen Minuten. Im Anschluss finden Sie alle Container unter "Containers" und können sie einzeln oder als Stack verwalten.

Sicherheit und Best Practices für Portainer

Sicherheit sollte bei jeder Docker-Installation oberste Priorität haben, und Portainer bildet da keine Ausnahme. Die wichtigsten Empfehlungen: Verwenden Sie unbedingt HTTPS für den Zugriff auf die Portainer-Weboberfläche. Portainer generiert standardmäßig ein selbstsigniertes SSL-Zertifikat, das zwar funktioniert, aber in Browsern Warnungen auslöst. Für Produktivumgebungen empfehlen wir die Anbindung eines Let's Encrypt-Zertifikats über einen Reverse Proxy wie Nginx Proxy Manager oder Traefik.

Aktivieren Sie die Zwei-Faktor-Authentifizierung (2FA) für alle Portainer-Admin-Accounts. Portainer unterstützt TOTP-basierte 2FA, kompatibel mit Apps wie Google Authenticator, Authy oder 1Password. So stellen Sie sicher, dass ein gestohlenes Passwort allein nicht ausreicht, um in die Verwaltungsoberfläche einzudringen.

Sicherheitsmaßnahme Empfehlung
SSL/TLS Let's Encrypt via Reverse Proxy
2FA Pflicht für alle Admin-Accounts
Firewall Nur Ports 22, 80, 443, 9443 öffnen
Updates Portainer monatlich aktualisieren
Backups Portainer-Volume regelmäßig sichern
Netzwerk Docker-Netzwerke segmentieren

Ein weiterer wichtiger Punkt ist die regelmäßige Aktualisierung von Portainer selbst. Neue Versionen bringen nicht nur Features, sondern auch Sicherheitspatches. Ein Update ist in Portainer-CE ein einfacher Vorgang: Container stoppen, neues Image pullen, alten Container durch neuen ersetzen. Idealerweise automatisieren Sie diesen Vorgang mit einem kleinen Update-Script oder nutzen Watchtower als Sidecar-Container.

Portainer mit mehreren Docker-Hosts verbinden

Eine der Stärken von Portainer ist die Fähigkeit, mehrere Docker-Umgebungen zentral zu verwalten. Sie können lokale Docker-Sockets, entfernte Docker-Daemons über TCP, Docker Swarm Cluster und Kubernetes-Cluster in einer einzigen Oberfläche verwalten. Das ist besonders für wachsende Infrastrukturen interessant, in denen Container auf mehreren Servern laufen.

Um einen entfernten Docker-Host anzubinden, haben Sie zwei Möglichkeiten: Entweder Sie öffnen den Docker-Socket über TCP (mit TLS-Verschlüsselung) und verbinden ihn direkt mit Portainer, oder Sie installieren den Portainer-Agent auf dem Remote-Host. Die Agent-Variante ist sicherer und empfohlen, da der Agent die Kommunikation verschlüsselt und keine offenen Ports auf den Worker-Hosts nötig sind.

# Portainer-Agent auf Remote-Host installieren
docker run -d \
  -p 9001:9001 \
  --name portainer_agent \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /var/lib/docker/volumes:/var/lib/docker/volumes \
  portainer/agent:latest

Nach der Installation des Agents können Sie in Portainer über "Environments > Add Environment" die Verbindung herstellen. Sie wählen "Agent" als Umgebungstyp, geben die IP-Adresse oder den Hostnamen des Remote-Servers ein und Portainer verbindet sich automatisch. Ab sofort verwalten Sie alle Container des Remote-Hosts aus der gleichen Oberfläche wie die lokalen Container.

Backup und Wiederherstellung der Portainer-Konfiguration

Portainer speichert seine Konfiguration in einem Docker-Volume, das Sie regelmäßig sichern sollten. Das Volume enthält alle Stacks, Container-Konfigurationen, Benutzer-Accounts und Einstellungen. Ein Verlust dieses Volumes bedeutet, dass Sie alle Konfigurationen manuell wiederherstellen müssen – was bei komplexen Setups Tage dauern kann.

# Portainer-Volume sichern
docker run --rm \
  -v portainer_data:/source:ro \
  -v $(pwd):/backup \
  alpine tar czf /backup/portainer-backup-$(date +%F).tar.gz -C /source .

# Backup wiederherstellen
docker run --rm \
  -v portainer_data:/target \
  -v $(pwd):/backup \
  alpine sh -c "tar xzf /backup/portainer-backup-2026-01-15.tar.gz -C /target"

# Portainer-Container neu starten
docker restart portainer

Wir empfehlen, das Backup in eine automatisierte Backup-Routine einzubinden, die das Portainer-Volume zusammen mit den Daten-Volumes Ihrer Anwendungen sichert. Bei hostazar.com können Sie zusätzlich Snapshots des gesamten VPS erstellen, die als zusätzliche Sicherheitsebene dienen. Eine 3-2-1-Backup-Strategie mit Off-Side-Kopien in S3 oder einem anderen Standort ist empfehlenswert.

Portainer Business Edition: Wann lohnt sich das Upgrade?

Die Community Edition von Portainer ist für die meisten Anwendungsfälle völlig ausreichend. Sie bietet alle Kernfunktionen, ist Open Source (ZPL-Lizenz) und kann ohne Lizenzkosten produktiv eingesetzt werden. Es gibt jedoch Szenarien, in denen die kommerzielle Business Edition (BE) sinnvoll ist: Unternehmen mit Compliance-Anforderungen, große Teams mit vielen Nutzern oder Setups, die erweiterte Sicherheitsfunktionen benötigen.

Die Business Edition bietet unter anderem RBAC (Role-Based Access Control) mit feiner granulierten Berechtigungen, Audit-Logs für Compliance-Nachweise, SAML/SSO-Integration für zentrale Benutzerverwaltung, gehärtete Images mit regelmäßigen Sicherheitsaudits, priorisierten Support und erweiterte Kubernetes-Funktionen. Die Preise beginnen bei 99 USD pro Node

Docker Compose auf dem VPS: Webserver, Datenbank & Reverse Proxy richtig betreiben
DevOps 02. June 2026 10 Min

Docker Compose auf dem VPS: Webserver, Datenbank & Reverse Proxy richtig betreiben

Praxisnaher Guide für Docker Compose auf dem VPS: Webserver, Datenbank, Reverse Proxy, TLS, Backups, Updates und Sicherheit richtig planen und betreiben.