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

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

Dockge bringt eine schlanke Web-UI für Docker-Compose-Stacks aufs Synology NAS. Diese Anleitung zeigt SSH-Setup, Ordnerstruktur, die kritische Pfad-Symmetrie in der compose.yaml und den Import bestehender Stacks – mit Verifikationsschritt nach jedem Abschnitt.

Synology NAS mit Docker-Container-Dashboard in blauem Licht

Wer auf einem Synology NAS mehrere Docker-Compose-Stacks betreibt, kennt das Problem: Die Übersicht geht schnell verloren, wenn Stacks über SSH, den eingebauten Container Manager und vielleicht noch Portainer verteilt sind. Dockge löst genau dieses Problem. Die schlanke Web-UI des Uptime-Kuma-Entwicklers Louis Lam (louislam) läuft selbst als Container, greift über den Docker-Socket auf den Synology-Daemon zu und gibt dir eine saubere Oberfläche, über die du alle compose-basierten Stacks starten, stoppen, bearbeiten und deployen kannst – ohne Overhead, ohne Lock-in.

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 (Dockge selbst ist sehr leichtgewichtig)
  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 (Synology DSM und andere Dienste nutzen oft Port 5001)
  8. Ausreichend Speicherplatz auf /volume1 für Konfigurationsdateien (minimal, da nur YAML-Dateien)

Schritt 1: SSH-Zugang aktivieren und verbinden

Öffne das DSM-Webinterface und navigiere zu Systemsteuerung → Terminal & SNMP. Aktiviere den Haken bei „SSH-Dienst aktivieren" und bestätige mit „Anwenden". Port 22 ist der Standard – du kannst ihn auf einen benutzerdefinierten Port verlegen, wenn du möchtest.

Verbinde dich anschließend von deinem Rechner aus mit dem NAS. Unter Windows bietet sich das Windows Terminal an, unter macOS und Linux das eingebaute Terminal:

ssh admin@192.168.1.100 -p 22

Ersetze 192.168.1.100 durch die IP-Adresse deines NAS. Nach dem Login musst du für Docker-Befehle zu root wechseln:

sudo -i

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

docker --version

Erwartete Ausgabe (Versionsnummer kann abweichen):

Docker version 24.0.x, build xxxxxxx

Wenn der Befehl fehlschlägt, ist der Container Manager im Package Center nicht installiert oder der Dienst läuft nicht.

Schritt 2: Ordnerstruktur anlegen

Eine saubere, 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

Der Ordner data nimmt Dockges eigene App-Daten auf (Datenbank, Einstellungen). Der Ordner stacks ist das zentrale Stack-Verzeichnis – hier legt Dockge für jeden Stack einen Unterordner mit der zugehörigen compose.yaml an.

Verifizieren: Prüfe, 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

Wechsle in das Dockge-Verzeichnis und erstelle die compose.yaml. Der kritischste Punkt ist der Volume-Mount für das Stack-Verzeichnis: Der linke Pfad (Host) muss exakt dem rechten Pfad (Container) entsprechen. Dies ist eine bewusste Design-Entscheidung von Dockge – da der Container die Pfade intern genauso referenzieren muss wie auf dem Host. Ein asymmetrischer Mount führt dazu, dass Dockge Dateien an falschen Orten sucht oder ablegt.

cd /volume1/docker/dockge
vi compose.yaml

Füge 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

Das Image louislam/dockge:1 ist ein sogenanntes Moving-Tag: Es zeigt immer auf die neueste Version im 1.x-Zweig (aktuell 1.5.0, Stand März 2025). Der interne Container-Port 5001 wird auf Host-Port 5571 gemappt, um Kollisionen mit anderen Synology-Diensten zu vermeiden.

Verifizieren: Lass dir die Datei anzeigen, um Tippfehler auszuschließen:

cat /volume1/docker/dockge/compose.yaml

Prüfe 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

Starte 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 von Docker Hub herunter – je nach Internetverbindung dauert das zwischen 30 Sekunden und einigen Minuten. Du siehst Ausgaben wie Pulling dockge ... done und abschließend Container dockge-dockge-1 Started.

Verifizieren: Prüfe, 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

Steht dort Up, läuft der Container. Falls Restarting angezeigt wird, liegt ein Konfigurationsfehler vor – prüfe die Logs mit docker logs dockge-dockge-1.

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

Falls du die Synology-Firewall aktiviert hast, musst du Port 5571 freischalten. Gehe in DSM zu Systemsteuerung → Sicherheit → Firewall → Regeln bearbeiten. Lege eine neue Regel an: Protokoll TCP, Port 5571, Quelle nach Bedarf (LAN oder spezifische IP), Aktion „Zulassen".

Öffne anschließend deinen Browser und rufe die Dockge-Oberfläche auf:

http://<NAS-IP>:5571

Beim ersten Aufruf begrüßt dich Dockge mit einem Setup-Dialog. Lege dort deinen Admin-Benutzernamen und ein sicheres Passwort fest und klicke auf „Erstellen".

Verifizieren: Nach dem Login siehst du das Dockge-Dashboard. Im linken Bereich erscheint die Stack-Liste – sie ist zu diesem Zeitpunkt noch leer oder zeigt bereits vorhandene Container in ausgegrauter Form. Klicke auf das Zahnrad-Symbol oben rechts und prüfe unter „Settings", dass der angezeigte Stacks Directory-Pfad /volume1/docker/dockge/stacks lautet.

Schritt 6: Ersten neuen Stack in Dockge anlegen

Klicke in der Dockge-UI oben rechts auf „+ Compose". Gib einen Stack-Namen ein – ausschließlich Kleinbuchstaben und Bindestriche, da Dockge Ordnernamen mit Großbuchstaben nicht verarbeiten kann. Gib dann den Inhalt deiner compose.yaml im Editor ein und klicke auf „Deploy".

Dockge legt automatisch einen Unterordner unter /volume1/docker/dockge/stacks/<stackname>/ an und speichert dort die compose.yaml. Anschließend startet es den Stack via Docker Compose. Da Dockge jede Konfiguration als echte Datei auf dem Dateisystem ablegt, entsteht kein Lock-in und keine proprietäre Datenbank.

Verifizieren: Nach dem Deploy erscheint der Stack in der Liste mit dem Status „Running" (grüner Punkt). Prüfe auf der Kommandozeile:

ls /volume1/docker/dockge/stacks/

Du solltest den Unterordner mit dem Stack-Namen sehen. Mit cat /volume1/docker/dockge/stacks/<stackname>/compose.yaml kannst du bestätigen, dass die Datei korrekt abgelegt wurde.

Schritt 7: Bestehende Stacks importieren

Stacks, die du bisher über den Container Manager, Portainer oder direkt per SSH angelegt hast, erscheinen in Dockge ausgegraut. Sie sind sichtbar, aber nicht vollständig verwaltbar – solange keine passende compose.yaml im Dockge-Stacks-Verzeichnis liegt.

Der Importprozess ist einfach:

# 1. Unterordner mit Stack-Namen anlegen (nur Kleinbuchstaben!)
mkdir -p /volume1/docker/dockge/stacks/meinstack

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

Wichtig: Dockge erwartet exakt den Dateinamen compose.yaml – nicht docker-compose.yml und nicht docker-compose.yaml.

Verifizieren: Lade die Dockge-UI im Browser neu (F5). Der Stack erscheint nun ohne Ausgrauung und zeigt den aktuellen Status des laufenden Containers. Dockge „adoptiert" laufende Container, ohne sie neu zu starten – kein Downtime erforderlich.

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 lädt das neue Image herunter, stoppt den alten Container und startet einen neuen. Der gesamte Vorgang dauert in der Regel unter zwei Minuten. Alle Daten unter /volume1/docker/dockge/data und alle Stack-Dateien bleiben vollständig erhalten.

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

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

Das Datum sollte dem aktuellen Tag entsprechen. Alternativ zeigt docker ps unter „IMAGE" den aktuellen Tag louislam/dockge:1 an.

Alternative: Dockge über den Container Manager deployen

Wer den SSH-Zugang lieber nicht nutzen möchte, kann Dockge auch vollständig über die DSM-Oberfläche installieren. Erstelle zunächst die compose.yaml mit dem oben gezeigten Inhalt über die DSM File Station unter /volume1/docker/dockge/compose.yaml. Wechsle dann im DSM zu Container Manager → Projekt → Erstellen, vergib den Projektnamen „dockge", wähle als Pfad /volume1/docker/dockge und als Quelle „Vorhandene docker-compose.yaml verwenden". Klicke auf „Weiter" und bestätige den Deploy.

Beide Wege – SSH und Container Manager – führen zum identischen Ergebnis. Der SSH-Weg ist schneller und transparenter für Admins; der Container Manager-Weg kommt ohne Terminal aus.

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üfe, ob DOCKGE_STACKS_DIR exakt dem rechten Pfad des stacks-Volume-Mounts entspricht. Kontrolliere mit docker inspect dockge-dockge-1 die tatsächlichen Environment-Variablen und Mounts.
  2. „permission denied on /var/run/docker.sock": Der Dockge-Container kann nicht mit dem Docker-Daemon kommunizieren. Stelle sicher, dass /var/run/docker.sock:/var/run/docker.sock im Volume-Mount steht. Falls du einen nicht-root PUID verwendest, muss die Docker-Gruppe per group_add im Container hinzugefügt werden.
  3. Stack-Ordner wird in Dockge nicht angezeigt: Ordnernamen mit Großbuchstaben (z. B. Jellyfin, MyApp) werden von Dockge ignoriert. Benenne den Ordner in Kleinbuchstaben um (jellyfin, myapp) und lade die UI neu.
  4. Compose-Datei wird nicht erkannt: Dockge erwartet exakt den Dateinamen compose.yaml. Dateien mit den Namen docker-compose.yml oder docker-compose.yaml werden ignoriert.
  5. Port 5001 bereits belegt: DSM oder ein anderer Container nutzen möglicherweise Port 5001. Ändere in der compose.yaml den Host-Port (linke Seite) auf 5571 oder einen anderen freien Port – der Container-Port 5001 bleibt unverändert.
  6. 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 findest du diese Option unter den erweiterten Einstellungen des Proxy-Eintrags.
  7. „Restarting" statt „Up" in docker ps: Lies 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.
  8. Image-Download schlägt fehl oder dauert sehr lange: Docker Hub hat ein Rate-Limit für anonyme Pulls. Prüfe 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 Werkzeuge greifen auf denselben Docker-Daemon zu und stören sich nicht gegenseitig. Stacks, die über den Container Manager erstellt wurden, erscheinen in Dockge ausgegraut – und umgekehrt sind Dockge-Stacks im Container Manager als externe Projekte sichtbar. Empfehlung: Neue Stacks nur noch in Dockge anlegen und bestehende Container-Manager-Projekte schrittweise über den Import-Prozess migrieren.

Was ist der Unterschied zwischen Dockge und Portainer?

Dockge ist bewusst auf compose.yaml-Stacks fokussiert und bleibt dadurch sehr schlank und übersichtlich. Portainer unterstützt deutlich mehr Funktionen – einzelne Container, Docker Swarm, Kubernetes, Benutzer- und Rechteverwaltung – ist dafür aber erheblich komplexer. Wer auf seinem Synology NAS ausschließlich mit Compose-Stacks arbeitet, ist mit Dockge schneller und übersichtlicher bedient. Wer ein Team mit verschiedenen Zugriffsrechten verwaltet, braucht Portainer.

Muss ich SSH dauerhaft aktiviert lassen?

Nein. SSH wird nur für die Erstinstallation und gelegentliche Wartungsaufgaben benötigt. Nach dem ersten Start von Dockge kann die gesamte Stack-Verwaltung über die Web-UI erfolgen. Du kannst SSH nach der Installation in DSM wieder deaktivieren, wenn du das Sicherheitsrisiko minimieren möchtest.

Warum sehe ich in Dockge manche Container gar nicht?

Dockge zeigt ausschließlich compose.yaml-Stacks – keine einzeln gestarteten Container (gestartet via docker run). Container, die ohne Compose-Datei gestartet wurden, sind in Dockge unsichtbar. Für die Übersicht über alle laufenden Container bleibt der Synology Container Manager die erste Wahl.

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

Den Stack-Ordner (nur Kleinbuchstaben!) unter DOCKGE_STACKS_DIR anlegen, die vorhandene Compose-Datei als exakt compose.yaml hineinkopieren und dann in der Dockge-UI die Seite neu laden. Dockge adoptiert den laufenden Stack, ohne ihn neu zu starten.

Kann ich Dockge hinter dem Synology Reverse Proxy betreiben?

Ja. Lege in DSM unter Systemsteuerung → Anmeldeportal → Erweitert → Reverse Proxy einen neuen Eintrag an, der auf http://localhost:5571 zeigt. Aktiviere unter den erweiterten Einstellungen des Eintrags die Option „WebSocket-Unterstützung aktivieren" – ohne diese Einstellung bleibt die Dockge-UI leer oder verliert ständig die Verbindung.

Fazit

Dockge ist die konsequenteste Antwort auf eine häufige Frage im Self-Hosting: „Wie behalte ich den Überblick über meine Compose-Stacks, ohne gleich ein komplexes Tool wie Portainer einzuführen?" Das Tool ist leichtgewichtig, speichert alles als echte Dateien auf dem Dateisystem und kommt ohne Lock-in aus. Der einzige Fallstrick, der erfahrungsgemäß für Verwirrung sorgt, ist die Pfad-Symmetrie beim Volume-Mount – wer diese einmal verinnerlicht hat, ist auf der sicheren Seite. Auf einem Synology NAS mit DSM 7.2 koexistiert Dockge problemlos mit dem eingebauten Container Manager. Für Admins, die ihre Infrastruktur als Code verwalten wollen und dabei Wert auf Übersichtlichkeit und Portabilität legen, ist Dockge eine klare Empfehlung. Wer tiefer in das Thema einsteigen möchte, findet in der Anleitung Docker-Netzwerke und Volumes verstehen eine solide Grundlage. Wer Dockge hinter einem HTTPS-Reverse-Proxy betreiben möchte, findet alles Nötige in der Anleitung 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); Marius Hosting: How to Install Dockge on Your Synology NAS (Synology-spezifischer Referenz-Workflow); Docker Hub: louislam/dockge (Image-Tags, Versionen, Architekturen); GitHub Discussion #395 (Community-Lösungen für Synology-spezifische Pfadprobleme).