Wer sein Docker-Homelab oder Micro-SaaS skaliert, stößt bei der Portainer Enterprise Edition (EE) schnell an eine harte Wand: das 5-Node-Limit. Für Solo-Admins sind die teuren Enterprise-Features ohnehin oft unnötiger Ballast. Die Lösung? Ein schnelles Downgrade auf die schlanke Community Edition (CE).
Wichtig: Da die EE-Version die Datenbankstruktur verändert, können wir nicht einfach das Docker-Image tauschen. Wir müssen die Datenbank zwingend vorher mit einem speziellen Befehl auf CE zurückrollen. Zudem ziehen wir die Management-Oberfläche architektonisch sauber auf einen dedizierten Host um.
1. Sauberes Backup erstellen
Bevor wir die Datenbank anfassen, sichern wir den aktuellen Stand. Wir nutzen einen temporären Ubuntu-Container, der sich an die Volumes des laufenden Portainers hängt, und packen alles in ein Tar-Archiv:
docker run --rm --volumes-from portainer -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /data
Sobald das Backup sicher in deinem aktuellen Verzeichnis liegt, stoppen und entfernen wir den alten Portainer-Container:
docker stop portainer && docker rm portainer
2. Der Datenbank-Rollback
Das ist der entscheidende Schritt! Wir starten das offizielle EE-Image einmalig interaktiv und hängen das Flag --rollback-to-ce an, um das Datenbankschema wieder kompatibel für die Community Edition zu machen:
docker run -it --name portainer-database-rollback -v portainer_data:/data portainer/portainer-ee:latest --rollback-to-ce
Wenn der Prozess erfolgreich durchgelaufen ist, kannst du diesen temporären Container einfach wieder löschen (docker rm portainer-database-rollback).
3. Daten auf den neuen Host umziehen
Jetzt schieben wir unser vorbereitetes Volume sicher auf den neuen Management-Knoten (z. B. Docker-mgmt). Das geht am einfachsten über rsync:
rsync -avz /var/lib/docker/volumes/portainer_data root@IP_NEUER_HOST:/var/lib/docker/volumes/
4. Portainer CE auf dem neuen Host starten
Logge dich nun auf deinem neuen Management-Host ein. Erstelle eine docker-compose.yml und mounte das soeben kopierte Volume:
version: '3.8'
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
restart: always
ports:
- "8000:8000"
- "9443:9443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
volumes:
portainer_data:
external: true
Führe docker compose up -d aus und öffne dein neues Dashboard. Du wirst sehen: Alle Stacks, Container und Environments sind genau da, wo sie hingehören – völlig ohne Lizenz-Warnungen.
5. Den alten Host als Agent einbinden
Damit dein neuer Management-Host deinen alten Produktions-Server wieder steuern kann, startest du auf dem alten Server einfach den schlanken Portainer-Agenten. Danach fügst du das Environment im neuen Dashboard unter "Environments" hinzu.
Dein Ergebnis: Eine professionell getrennte Infrastruktur, keine Limits mehr und 100 % Zero-Bloat!
💬 Feedback & Diskussion 0
Kommentar hinterlassen
Noch keine Kommentare zu diesem Guide vorhanden. Sei der Erste!