UGREEN NAS: Portainer einrichten und richtig nutzen
Teil 66 der UGREEN-Serie: Portainer CE als Compose-Projekt auf der UGREEN NAS, warum Port 9443 belegt ist, der Setup-Token beim ersten Start, Control Limited und das Zusammenspiel mit der App Docker.
Geprüft am 03.11.2026 · für UGOS Pro 1.21.0.0190
Mit KI erstellt – redaktionelle Prüfung ausstehend
WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Mehr dazu

Die App Docker von UGOS Pro reicht für viele Container. Wer mehr Überblick will, etwa über Netzwerke, Volumes, Images und die Protokolle aller Container an einer Stelle, greift oft zu Portainer. Diese Anleitung zeigt, wie Sie Portainer CE auf der UGREEN NAS als Compose-Projekt einrichten, warum der übliche Port 9443 dort schon belegt ist, was es mit dem Setup-Token beim ersten Start auf sich hat und wie Portainer mit den Projekten aus der App Docker zusammenspielt.
Getestet auf einer UGREEN DXP4800 Pro mit UGOS Pro 1.21.0.0190 und Docker 29.6.2, mit Portainer CE 2.45.3 LTS. Namen der eigenen Projekte sind in den Bildern ausgefiltert.
Voraussetzungen
- Eine UGREEN NAS mit der App Docker, siehe Teil 63
- SSH-Zugang, siehe Teil 52
- Grundwissen zu Compose, siehe Docker Compose als Grundlage
- Etwa 20 Minuten
Was Portainer kann und was es darf
Portainer ist eine Weboberfläche für Docker. Es zeigt alle Container, Images, Netzwerke und Volumes, startet und stoppt Container, zeigt Protokolle und öffnet eine Konsole im Container. Dazu bekommt Portainer Zugriff auf den Docker-Socket der NAS. Das entspricht vollen root-Rechten auf der NAS: Wer Portainer bedient, kann jeden Container ändern, löschen oder einen neuen mit Zugriff auf alle Ordner der NAS starten. Behandeln Sie das Konto in Portainer deshalb wie den Administrator der NAS.
Schritt 1: Einen freien Port wählen
Portainer bietet seine Oberfläche üblicherweise per HTTPS auf Port 9443 an. Auf der UGREEN NAS ist dieser Port schon vergeben, an ihn bindet sich der Webserver von UGOS selbst. Prüfen Sie das per SSH:
sudo ss -ltnp | grep -E ":9443|:9444"
LISTEN 0 511 0.0.0.0:9443 0.0.0.0:* users:(("nginx",pid=3397,fd=8),...)
Bei uns lauschte nginx von UGOS auf 9443, Port 9444 war frei. Ein Port kann nur einem Dienst gehören. Nehmen Sie deshalb einen freien Port wie 9444.
Verifizieren: Die Ausgabe zeigt für Ihren gewählten Port keine Zeile.
Schritt 2: Das Compose-Projekt anlegen
Legen Sie einen Ordner für Portainer an, am besten auf einem SSD-Volume, und darin die Datei compose.yaml. Unser Testprojekt hieß s-edv-portainer, im Folgenden steht der allgemeine Name portainer:
sudo mkdir -p /volume2/docker/portainer
sudo nano /volume2/docker/portainer/compose.yaml
services:
portainer:
image: portainer/portainer-ce:lts
container_name: portainer
restart: unless-stopped
ports:
- "9444:9443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./data:/data
Passen Sie volume2 an das Volume Ihrer NAS an, auf vielen Geräten ist es volume1. Das Tag lts steht für die Langzeitfassung, bei uns 2.45.3. Im Ordner data speichert Portainer Benutzer, Einstellungen und die Compose-Dateien seiner eigenen Stacks. Starten Sie das Projekt:
cd /volume2/docker/portainer
sudo docker compose up -d
Das Image war bei uns 156 MB groß, der laufende Container belegte rund 39 MB Arbeitsspeicher. Alternativ legen Sie das Projekt mit derselben Datei in der App Docker an, wie in Teil 64 beschrieben.
Verifizieren: Die Ausgabe von
sudo docker ps --filter name=portainer
zeigt 0.0.0.0:9444->9443/tcp.
Schritt 3: Den Administrator mit Setup-Token anlegen
Öffnen Sie im Browser https://ADRESSE-DER-NAS:9444. Portainer nutzt ein selbst signiertes Zertifikat, der Browser warnt deshalb. Bestätigen Sie die Ausnahme über Erweitert. Auf der Seite für den ersten Administrator verlangt Portainer neben Benutzername und Passwort mit mindestens 12 Zeichen einen Setup-Token. Den schreibt der Container beim Start in sein Protokoll:
sudo docker logs portainer 2>&1 | grep -A1 setup_token
Kopieren Sie den Wert hinter setup_token= in das Feld. Der Token ist ein Zugangsschlüssel für die Ersteinrichtung, geben Sie ihn nicht weiter. Er verhindert, dass jemand anders im Netz schneller ist als Sie und sich den Administrator holt. Laut Protokoll lässt sich der Token mit der Option --no-setup-token abschalten, lassen Sie ihn eingeschaltet.
Laut Dokumentation von Portainer gilt für die Ersteinrichtung außerdem ein Zeitfenster von wenigen Minuten. Verstreicht es, sperrt sich die Instanz, und ein Neustart des Containers beginnt den Ablauf von vorn:
sudo docker restart portainer
Nach dem Anlegen fragt Portainer nach der Umgebung. Mit Get Started verbindet es sich mit dem lokalen Docker der NAS.
Verifizieren: Nach der Anmeldung zeigt die Startseite die Umgebung local mit dem Status Up.
Schritt 4: Die Umgebung kennenlernen
Die Startseite listet die Umgebungen. Auf der NAS gibt es eine, local.

Bei uns zeigte sie 40 von 41 Containern in Betrieb, 8 Kerne und 33,4 GB Arbeitsspeicher. Ein Klick auf local öffnet das Dashboard.

Stacks heißen in Portainer die Compose-Projekte. Die Zahlen umfassen alles, was auf der NAS läuft, auch die Projekte aus der App Docker. Unter Containers sehen Sie die Liste mit Status, Image, Ports und Schnellaktionen für Protokoll, Details, Statistik und Konsole.

Die Suche oben rechts filtert die Liste. Der Testcontainer s-edv-test-whoami war bei uns gestoppt, daher exited. Das ist praktisch, wenn auf der NAS Dutzende Container laufen. Der Status healthy erscheint bei Containern mit Healthcheck, wie er in Docker Compose absichern beschrieben ist.
Verifizieren: Unter Containers steht der Container portainer mit dem Status running.
Schritt 5: Verstehen, was Limited bedeutet
Unter Stacks erscheinen alle Compose-Projekte der NAS. Projekte, die nicht in Portainer entstanden sind, tragen in der Spalte Control den Eintrag Limited. Fährt man mit der Maus über das Zeichen daneben, erklärt Portainer: This stack was created outside of Portainer. Control over this stack is limited.

Portainer kennt die Compose-Datei dieser Projekte nicht und kann sie deshalb nicht bearbeiten oder neu bereitstellen. Ihre Container erscheinen trotzdem unter Containers mit Status und Schnellaktionen. Für die Projekte aus der App Docker heißt das: Bearbeiten Sie die Compose-Datei weiter in der App Docker, Portainer dient dann als Anzeige und für Protokolle.
Verifizieren: Ihre Projekte aus der App Docker stehen unter Stacks mit Control Limited.
Schritt 6: Einen Stack in Portainer anlegen
Zum Testen haben wir einen kleinen Stack angelegt: Stacks, Add stack, Name s-edv-pt-test, Build method Web editor, und darin eine Compose-Datei für den Testdienst whoami auf Port 8093.

services:
whoami:
image: traefik/whoami:latest
container_name: s-edv-pt-whoami
restart: unless-stopped
ports:
- "8093:80"
Mit Deploy the stack startet Portainer den Stack. Die Detailseite zeigt den Container und bietet Stop this stack, Delete this stack und im Reiter Editor die Compose-Datei zum Bearbeiten.

Die Compose-Datei legt Portainer in seinem eigenen Datenordner ab, bei uns unter data/compose/1/docker-compose.yml im Ordner von Portainer. Sie gehört also zur Sicherung von Portainer, nicht zu einem eigenen Projektordner.
Wichtig: Portainer führt den Stack im Ordner /data/compose/1 aus, also in seinem Container. Das zeigt das Label working_dir des Containers. Relative Pfade wie ./data landen deshalb nicht im Ordner von Portainer, sondern als /data/compose/1/data auf der Systempartition der NAS. Schreiben Sie Ordner in Portainer-Stacks immer mit vollem Pfad, etwa /volume2/docker/whoami/data:/data.
curl -s http://ADRESSE-DER-NAS:8093/ | head -2
Hostname: da071bbeed85
IP: 127.0.0.1
Verifizieren: Die Antwort von whoami beginnt mit Hostname, und der Stack steht unter Stacks ohne Limited.
Schritt 7: Das Zusammenspiel mit der App Docker prüfen
Öffnen Sie in UGOS die App Docker. Unter Projekt erscheinen nur die Projekte, die in der App selbst angelegt wurden. Der Stack aus Portainer fehlt dort, ebenso Portainer selbst, weil wir es per SSH gestartet haben.

Unter Container dagegen stehen alle Container, auch die aus Portainer, jeweils mit ihrem Projektnamen.

Entscheiden Sie sich deshalb je Projekt für ein Werkzeug. Ein Projekt, das Sie in Portainer anlegen, pflegen Sie auch dort. Ein Projekt aus der App Docker bearbeiten Sie dort. Beachten Sie: Portainer kann auch Container aus Projekten der App Docker stoppen oder löschen, ohne dass die App davon weiß. So wissen Sie immer, wo die gültige Compose-Datei liegt.
Verifizieren: Der Stack aus Portainer fehlt unter Projekt, sein Container steht unter Container.
Typische Fehler
- Projekt startet nicht, Port belegt: 9443 gehört auf der UGREEN NAS UGOS. Anderen Port wählen, etwa 9444.
- Setup-Token wird verlangt: Portainer 2.45.3 verlangte bei uns einen Setup-Token. Token mit sudo docker logs aus dem Protokoll lesen.
- Instanz gesperrt, kein Login möglich: Laut Portainer ist das Zeitfenster für die Ersteinrichtung abgelaufen. Container neu starten und zügig einrichten.
- Stack lässt sich nicht bearbeiten: Er steht auf Limited, weil er außerhalb von Portainer entstand. In der App Docker oder per Compose-Datei bearbeiten.
- Projekt fehlt in der App Docker: Stacks aus Portainer zeigt die App nur unter Container, nicht unter Projekt.
- Daten liegen nicht im erwarteten Ordner: Relative Pfade im Stack. In Portainer immer den vollen Pfad unter /volume… verwenden.
- Browser warnt vor dem Zertifikat: Portainer nutzt ein selbst signiertes Zertifikat. Für den Zugriff von außen gehört Portainer hinter einen Reverse Proxy mit eigenem Zertifikat oder ins VPN.
Häufige Fragen
Brauche ich Portainer, wenn ich die App Docker habe?
Nein. Die App Docker reicht für Projekte, Container und Protokolle. Portainer lohnt sich für einen tieferen Blick in Netzwerke, Volumes und Images und für Konsolen in Containern.
Ist Portainer CE kostenlos?
Ja, die Community Edition ist frei nutzbar. Einige Funktionen wie Webhooks für Stacks sind in der Oberfläche als Business Feature gekennzeichnet.
Darf Portainer aus dem Internet erreichbar sein?
Nein. Wer Portainer bedient, steuert die gesamte NAS. Erreichen Sie es nur im Heimnetz oder über VPN, mit einem starken Passwort.
Wie aktualisiere ich Portainer?
Sichern Sie zuerst den Ordner data, dann im Ordner des Projekts:
sudo docker compose pull
sudo docker compose up -d
Die Daten im Ordner data bleiben dabei erhalten.
Was ist besser, Portainer oder Dockge?
Portainer verwaltet alle Teile von Docker. Dockge konzentriert sich auf Compose-Dateien, die als normale Dateien im Ordner liegen. Den Vergleich zeigt Teil 67.
Fazit
Portainer läuft auf der UGREEN NAS mit wenigen Zeilen Compose. Zwei Dinge sind dort anders als in den meisten Anleitungen: Port 9443 ist schon von UGOS belegt, und die aktuelle Version verlangt beim ersten Start einen Setup-Token aus dem Protokoll. Im Betrieb zeigt Portainer alle Container und Projekte der NAS, bearbeiten kann es aber nur Stacks, die in Portainer entstanden sind. Legen Sie je Projekt fest, welches Werkzeug es pflegt, und lassen Sie Portainer nicht aus dem Internet erreichbar.


