Zum Hauptinhalt springen
S-EDV news
← Alle Anleitungen
📘 Anleitung Synology / NAS 10.06.2026 · 9 min Lesezeit

Dockge auf dem Synology NAS installieren: Docker-Compose-Stacks einfach verwalten

Dockge bringt eine schlanke Weboberfläche für Docker-Compose-Stacks auf das Synology NAS. Die Anleitung zeigt Ordnerstruktur, die nötige Pfad-Symmetrie in der compose.yaml, den Import bestehender Stacks und nach jedem Schritt eine Prüfung.

Geprüft am 30.09.2026 · für dockge 1.5.0

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

Schwarzes NAS mit zwei Laufwerksschächten und blauen Status-LEDs auf einem Holzregal im Büro

Mehrere Docker-Compose-Stacks auf einem Synology NAS, verteilt über SSH, Container Manager und Portainer, werden schnell unübersichtlich. Dockge von Uptime-Kuma-Entwickler Louis Lam bündelt sie in einer schlanken Weboberfläche: Es läuft selbst als Container, steuert über den Docker-Socket den Docker-Dienst des NAS und startet, stoppt, bearbeitet und deployt Stacks. Die Compose-Dateien bleiben normale Dateien im Dateisystem.

Voraussetzungen

  1. Synology NAS mit DSM 7.2 oder höher
  2. Container Manager im Synology Package Center installiert (Nachfolger des Docker-Pakets)
  3. Mindestens 512 MB freier RAM und rund 1 GB Speicher für das Image (etwa 250 MB komprimiert). Das Image gibt es für x86 (amd64) und ARM (arm64, armv7), es läuft also auch auf Synology-Modellen mit ARM-CPU, sofern diese den Container Manager unterstützen.
  4. SSH-Zugang in DSM aktiviert: Systemsteuerung → Terminal & SNMP → SSH-Dienst aktivieren
  5. Admin-Rechte per SSH (root oder sudo)
  6. Internetverbindung zum Herunterladen des Images von Docker Hub
  7. Freier Host-Port, empfohlen 5571, denn DSM belegt Port 5001 für HTTPS

Per SSH gehen Ordner und Test des Docker-Zugriffs am schnellsten; ohne SSH nutzen Sie den Weg über den Container Manager weiter unten. Sicherheitshinweis: Wer Zugriff auf /var/run/docker.sock hat, hat faktisch Root-Rechte auf dem NAS. Stellen Sie Dockge nicht ungeschützt ins Internet und vergeben Sie ein starkes Passwort.

Schritt 1: SSH-Zugang aktivieren und verbinden

Öffnen Sie in DSM Systemsteuerung → Terminal & SNMP, setzen Sie den Haken bei „SSH-Dienst aktivieren“ und bestätigen Sie mit „Übernehmen“. Standardport ist 22.

Verbinden Sie sich von Ihrem Rechner mit dem NAS, unter Windows etwa mit Windows Terminal, unter macOS und Linux mit dem eingebauten Terminal:

ssh admin@192.168.1.100 -p 22

Ersetzen Sie 192.168.1.100 durch die IP-Adresse Ihres NAS. Für Docker-Befehle wechseln Sie nach dem Login zu root:

sudo -i

Verifizieren: Nach sudo -i zeigt die Shell-Eingabeaufforderung root@<NAS-Hostname>:~#. Testen Sie außerdem, ob Docker erreichbar ist:

docker --version

Erwartete Ausgabe (Versionsnummer kann abweichen):

Docker version 24.0.x, build xxxxxxx

Schlägt der Befehl fehl, ist der Container Manager nicht installiert oder nicht gestartet.

Schritt 2: Ordnerstruktur anlegen

Eine einheitliche Ordnerstruktur verhindert spätere Pfadprobleme. Alle Docker-Daten liegen unter /volume1/docker/, Dockge bekommt einen eigenen Unterordner:

mkdir -p /volume1/docker/dockge/data
mkdir -p /volume1/docker/dockge/stacks

In data liegen Dockges Datenbank und Einstellungen, in stacks legt Dockge je Stack einen Unterordner mit der Compose-Datei an.

Verifizieren: Prüfen Sie, dass beide Ordner angelegt wurden:

ls -la /volume1/docker/dockge/

Erwartete Ausgabe:

drwxr-xr-x  data
drwxr-xr-x  stacks

Schritt 3: compose.yaml erstellen

Erstellen Sie im Dockge-Verzeichnis die compose.yaml. Kritisch ist der Volume-Mount für das Stack-Verzeichnis: Der linke Pfad (Host) muss exakt dem rechten Pfad (Container) entsprechen, als vollständiger Pfad. Dockge ruft docker compose im Container auf, der Docker-Dienst des NAS löst relative Bind-Mounts der Stacks aber auf dem Host auf; nur bei identischen Pfaden landen die Daten richtig.

cd /volume1/docker/dockge
vi compose.yaml

Fügen Sie folgenden Inhalt ein (in vi: i zum Einfügen, nach dem Einfügen ESC, dann :wq zum Speichern):

services:
  dockge:
    image: louislam/dockge:1
    restart: unless-stopped
    ports:
      - 5571:5001
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /volume1/docker/dockge/data:/app/data
      # KRITISCH: Linker Pfad MUSS gleich rechtem Pfad sein!
      - /volume1/docker/dockge/stacks:/volume1/docker/dockge/stacks
    environment:
      # Muss exakt dem rechten (Container-)Pfad des stacks-Mounts entsprechen
      - DOCKGE_STACKS_DIR=/volume1/docker/dockge/stacks

louislam/dockge:1 ist ein Moving-Tag auf die neueste 1.x-Version (Stand September 2026 weiterhin 1.5.0 vom 30.03.2025). Container-Port 5001 wird auf Host-Port 5571 gemappt, um Kollisionen mit Synology-Diensten zu vermeiden.

Verifizieren: Lassen Sie sich die Datei anzeigen, um Tippfehler auszuschließen:

cat /volume1/docker/dockge/compose.yaml

Prüfen Sie besonders, dass bei volumes der stacks-Eintrag links und rechts identisch ist und dass DOCKGE_STACKS_DIR exakt dem rechten Pfad entspricht.

Schritt 4: Dockge starten

Starten Sie den Container mit Docker Compose. Der Befehl muss im Verzeichnis ausgeführt werden, das die compose.yaml enthält:

cd /volume1/docker/dockge
docker compose up -d

Beim ersten Start lädt Docker das Image herunter, abschließend erscheint Container dockge-dockge-1 Started.

Verifizieren: Prüfen Sie, ob der Container läuft:

docker ps | grep dockge

Erwartete Ausgabe (gekürzt):

... louislam/dockge:1 ... Up X seconds ... 0.0.0.0:5571->5001/tcp ... dockge-dockge-1

Nach etwa 30 Sekunden steht dort Up … (healthy), im Log (docker logs dockge-dockge-1) erscheinen No user, need setup und Listening on 5001. Bei Restarting liegt ein Konfigurationsfehler vor, die Ursache steht im Log.

Schritt 5: Firewall-Regel anlegen und Dockge im Browser öffnen

Ist die Synology-Firewall aktiv, legen Sie unter Systemsteuerung → Sicherheit → Firewall → Regeln bearbeiten eine Regel an: Protokoll TCP, Port 5571, Quelle nach Bedarf (LAN oder einzelne IP), Aktion „Zulassen“.

Rufen Sie anschließend im Browser die Dockge-Oberfläche auf:

http://<NAS-IP>:5571

Beim ersten Aufruf zeigt Dockge einen Setup-Dialog. Legen Sie dort den Admin-Benutzernamen und ein sicheres Passwort fest und klicken Sie auf „Erstellen“.

Verifizieren: Nach dem Login erscheint das Dockge-Dashboard. Die Stack-Liste links ist noch leer oder zeigt bereits laufende Compose-Projekte, die nicht im Stack-Verzeichnis liegen, als nicht verwaltet (ausgegraut). Das Stack-Verzeichnis zeigt Dockge in den Einstellungen nicht an. Prüfen Sie es per SSH mit docker inspect dockge-dockge-1 --format '{{range .Mounts}}{{.Source}} -> {{.Destination}}{{println}}{{end}}': Die Zeile für stacks muss links und rechts /volume1/docker/dockge/stacks zeigen.

Schritt 6: Ersten neuen Stack in Dockge anlegen

Klicken Sie auf „+ Compose“ und vergeben Sie einen Stack-Namen aus nur Kleinbuchstaben, Ziffern, Bindestrich und Unterstrich; andere lehnt Dockge mit „Stack name can only contain [a-z][0-9] _ - only“ ab. Tragen Sie den Inhalt der compose.yaml ein und klicken Sie auf „Deployen“.

Dockge legt /volume1/docker/dockge/stacks/<stackname>/ an, speichert dort die compose.yaml und startet den Stack via Docker Compose. Da alles als echte Datei liegt, gibt es keinen Lock-in und keine proprietäre Datenbank.

Verifizieren: Nach dem Deploy erscheint der Stack in der Liste als aktiv (grüner Punkt). Prüfen Sie auf der Kommandozeile:

ls /volume1/docker/dockge/stacks/

Der Unterordner mit dem Stack-Namen ist vorhanden, cat /volume1/docker/dockge/stacks/<stackname>/compose.yaml zeigt die gespeicherte Datei.

Schritt 7: Bestehende Stacks importieren

Bisher über Container Manager, Portainer oder SSH angelegte Stacks erscheinen ausgegraut und sind erst verwaltbar, wenn ihre Compose-Datei im Stack-Verzeichnis liegt. Der Ordnername muss dem Compose-Projektnamen entsprechen, sonst gilt er als neuer Stack.

# 1. Unterordner mit dem Projektnamen anlegen (nur Kleinbuchstaben)
mkdir -p /volume1/docker/dockge/stacks/meinstack

# 2. Vorhandene Compose-Datei hineinkopieren
cp /volume1/docker/meinstack/docker-compose.yml /volume1/docker/dockge/stacks/meinstack/

Dockge erkennt compose.yaml, compose.yml, docker-compose.yaml und docker-compose.yml ohne Umbenennen. Nutzt die Datei relative Pfade (./data), verschieben Sie die Daten mit oder tragen vorher absolute Pfade ein.

Verifizieren: Laden Sie die Dockge-Oberfläche neu (F5). Der Stack erscheint ohne Ausgrauung mit dem Status des laufenden Containers. Dockge übernimmt laufende Container, ohne sie neu zu starten.

Schritt 8: Dockge aktualisieren

Da louislam/dockge:1 ein Moving-Tag ist, genügt ein einziger Update-Befehl, um stets die neueste 1.x-Version zu ziehen:

cd /volume1/docker/dockge
docker compose pull && docker compose up -d

Docker ersetzt den Container durch einen neuen. Daten unter /volume1/docker/dockge/data und alle Stack-Dateien bleiben erhalten.

Verifizieren: Prüfen Sie nach dem Update das Erstellungsdatum des laufenden Containers:

docker inspect dockge-dockge-1 --format '{{.Created}}'

Nach einem neuen Image entspricht das Datum dem aktuellen Tag. Gab es kein neues Image, bleibt der Container unverändert, docker compose pull meldet dann kein Update.

Alternative: Dockge über den Container Manager deployen

Ohne SSH: Legen Sie in der File Station data und stacks unter /volume1/docker/dockge an und speichern Sie dort die compose.yaml von oben. Unter Container Manager → Projekt → Erstellen vergeben Sie den Projektnamen „dockge“, wählen den Pfad /volume1/docker/dockge, übernehmen die vorhandene Compose-Datei, klicken auf „Weiter“ und bestätigen. Das Ergebnis ist identisch.

Dockge vs. Portainer vs. Container Manager

MerkmalDockgePortainer CEContainer Manager
Fokuscompose.yaml-StacksContainer, Stacks, Swarm, K8sContainer, Projekte (DSM-nativ)
Einzelne ContainerNicht sichtbarJaJa
Benutzer-/RechteverwaltungNeinJa (CE: begrenzt)DSM-Benutzer
RessourcenverbrauchSehr geringMittelIm DSM integriert
Datei-BackendEchte compose.yaml auf DiskProprietäre DB + DateienDSM-intern
Lock-inKeinerGeringSynology-spezifisch
Ideal fürReine compose-UmgebungenKomplexe Multi-User-SetupsDSM-Integration, Einsteiger

Troubleshooting / Typische Fehler

  1. Dockge startet, zeigt aber leere Stack-Liste oder Fehler beim Laden: Prüfen Sie, ob DOCKGE_STACKS_DIR exakt dem rechten Pfad des stacks-Volume-Mounts entspricht. Kontrollieren Sie mit docker inspect dockge-dockge-1 die tatsächlichen Environment-Variablen und Mounts.
  2. „permission denied on /var/run/docker.sock“: Der Container erreicht den Docker-Dienst nicht. Prüfen Sie, dass /var/run/docker.sock:/var/run/docker.sock unter volumes steht und der Stack als root gestartet wurde (sudo -i).
  3. Stack-Ordner wird nicht angezeigt oder lässt sich nicht verwalten: Stack-Namen dürfen nur Kleinbuchstaben, Ziffern, - und _ enthalten. Benennen Sie Ordner wie Jellyfin in jellyfin um. Außerdem muss im Ordner eine Datei compose.yaml, compose.yml, docker-compose.yaml oder docker-compose.yml liegen.
  4. Port 5001 bereits belegt: DSM oder ein anderer Container nutzen möglicherweise Port 5001. Ändern Sie in der compose.yaml den Host-Port (linke Seite) auf 5571 oder einen anderen freien Port. Der Container-Port 5001 bleibt unverändert.
  5. Dockge-UI bleibt leer hinter Reverse Proxy: Dockge nutzt WebSockets für die Echtzeit-Kommunikation. Der Reverse Proxy muss die Header Upgrade: websocket und Connection: Upgrade weiterleiten. Im Synology Reverse Proxy fügen Sie dazu unter „Benutzerdefinierte Kopfzeile“ die Vorlage „WebSocket“ hinzu.
  6. „Restarting“ statt „Up“ in docker ps: Lesen Sie die Container-Logs: docker logs dockge-dockge-1 --tail 50. Häufigste Ursachen sind ein falscher Pfad in DOCKGE_STACKS_DIR oder fehlende Schreibrechte auf /volume1/docker/dockge/data.
  7. Image-Download schlägt fehl oder dauert sehr lange: Docker Hub hat ein Rate-Limit für anonyme Pulls. Prüfen Sie mit docker pull louislam/dockge:1 vorab, ob der Download funktioniert. Bei Rate-Limiting hilft ein Docker-Hub-Login: docker login.

Häufige Fragen

Kann ich Dockge und den Container Manager gleichzeitig verwenden?

Ja, beide nutzen denselben Docker-Dienst. Container-Manager-Projekte erscheinen in Dockge ausgegraut, Dockge-Stacks im Container Manager als Container. Legen Sie neue Stacks nur an einer Stelle an, damit keine Compose-Datei doppelt gepflegt wird.

Was ist der Unterschied zwischen Dockge und Portainer?

Dockge beschränkt sich auf Compose-Stacks und bleibt schlank. Portainer verwaltet zusätzlich Einzelcontainer, Swarm, Kubernetes sowie Benutzer und Rechte. Für reine Compose-Umgebungen genügt Dockge, für Teams mit unterschiedlichen Zugriffsrechten brauchen Sie Portainer.

Muss ich SSH dauerhaft aktiviert lassen?

Nein, nur für Installation und gelegentliche Wartung. Deaktivieren Sie SSH danach wieder, wenn Sie es nicht regelmäßig brauchen.

Warum sehe ich in Dockge manche Container gar nicht?

Dockge zeigt nur Compose-Stacks. Mit docker run gestartete Einzelcontainer sind unsichtbar. Für die Übersicht über alle Container nutzen Sie den Container Manager.

Wie importiere ich bestehende Stacks, die ich ohne Dockge angelegt habe?

Wie in Schritt 7: Ordner mit dem Compose-Projektnamen unter DOCKGE_STACKS_DIR anlegen, Compose-Datei hineinkopieren, Oberfläche neu laden. Laufende Container bleiben dabei unberührt.

Kann ich Dockge hinter dem Synology Reverse Proxy betreiben?

Ja. Legen Sie unter Systemsteuerung → Anmeldeportal → Erweitert → Reverse Proxy einen Eintrag auf http://localhost:5571 an und fügen Sie unter „Benutzerdefinierte Kopfzeile“ über „Erstellen → WebSocket“ die WebSocket-Header hinzu, sonst bleibt die Oberfläche leer oder verliert die Verbindung.

Fazit

Dockge schafft Überblick über Compose-Stacks ohne ein umfangreiches Werkzeug wie Portainer, speichert alles als normale Dateien und lässt sich ohne Folgen für die Stacks entfernen. Wichtigster Fallstrick ist die Pfad-Symmetrie beim Volume-Mount. Grundlagen: Docker-Netzwerke und Volumes verstehen. Für HTTPS über einen Reverse Proxy: Nginx Proxy Manager auf dem Synology NAS.

Weiterführende Anleitungen und Quellen

  1. Docker Compose Grundlagen: Stacks verstehen und einsetzen
  2. Docker-Netzwerke und Volumes verstehen
  3. Nginx Proxy Manager auf dem Synology NAS mit Container Manager
  4. Watchtower: Docker-Container automatisch aktualisieren

Quellen: louislam/dockge auf GitHub (offizielles Repository, compose.yaml-Dokumentation, DOCKGE_STACKS_DIR-Erklärung); Docker Hub: louislam/dockge (Image-Tags, Versionen, Architekturen); GitHub Discussion #395 (Community-Lösungen für Synology-spezifische Pfadprobleme).