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

Container Manager auf dem Synology NAS: Docker-Compose-Projekt anlegen, starten und aktualisieren

Der Container Manager ist seit DSM 7.2 die offizielle Schaltzentrale für Docker auf dem Synology NAS – direkt im Browser, ohne SSH, mit nativem Compose-Support. Diese Grundanleitung erklärt den Standard-Installationsweg, den alle unsere Container-Anleitungen voraussetzen.

Geprüft am 29.09.2026

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

Schlichtes Netzwerkspeichergerät mit vier Laufwerksschächten und Netzwerk-Switch auf einem Holzregal im hellen Büro

Seit DSM 7.2 bringt Synology mit dem Container Manager Docker-Compose-Support in die Weboberfläche, ohne SSH oder Drittanbieter-Tool; er ersetzt das alte Docker-Paket mit dem Wal-Logo. Diese Grundanleitung ist der Referenzartikel für alle unsere Docker-Anleitungen auf s-edv.com.

Voraussetzungen

  1. Synology NAS mit Intel- oder AMD-Prozessor (x86_64) oder einem unterstützten ARM64-Modell (z.B. DS223, DS223j, DS423 und neuere)
  2. Ältere ARM-Modelle (DS118, DS218j, J-Serie vor 2022) werden nicht unterstützt – Prüfung: im Paket-Zentrum nach „Docker“ suchen; kein Ergebnis = nicht kompatibel
  3. DSM 7.2 oder höher (DSM 7.2.1 oder DSM 7.3 empfohlen)
  4. Mindestens 1 GB RAM auf dem NAS (2 GB empfohlen bei mehreren Containern)
  5. Aktive Internetverbindung des NAS für Image-Downloads
  6. Admin-Zugang zur DSM-Weboberfläche (Port 5000 oder 5001)

Schritt 1: Container Manager installieren

Öffnen Sie in DSM das Paket-Zentrum, suchen Sie nach Docker (das Container-Manager-Paket hat ein anderes Icon als das alte Wal-Logo) und klicken Sie auf Installieren. Nach ein bis drei Minuten steht der Container Manager im DSM-Hauptmenü.

Der Container Manager nutzt Docker Engine 24.0.x. Diese Version ist seit Juni 2024 offiziell End-of-Life und erhält keine Sicherheits-Patches mehr, läuft auf Synology aber stabil; für den isolierten NAS-Betrieb im Heimnetz oder kleinen Unternehmen ist das akzeptabel.

Verifizieren: Öffnen Sie den Container Manager. Die Übersicht zeigt die Abschnitte Übersicht, Container, Projekt, Image und Registrierung in der linken Navigation. Wenn Sie diese Struktur sehen, ist die Installation erfolgreich abgeschlossen.

Schritt 2: Shared Folder und Projektverzeichnis anlegen

Der Container Manager erstellt Host-Verzeichnisse nicht automatisch; fehlen sie, scheitert der Start mit no such file or directory.

Legen Sie in der File Station einmalig einen Shared Folder (freigegebenen Ordner) namens docker an: File Station > Freigegebener Ordner > Erstellen. Er dient als zentrale Ablage für alle Projekte.

Legen Sie danach für jede App einen eigenen Unterordner an, zum Beispiel:

/volume1/docker/beispiel-app/
/volume1/docker/beispiel-app/config/
/volume1/docker/beispiel-app/data/

Die genauen Unterordner hängen von der jeweiligen App ab und sind in der entsprechenden App-Anleitung dokumentiert. Weitere Hintergründe zu Berechtigungen und PUID/PGID (Benutzer- und Gruppen-ID, unter der ein Container auf Dateien zugreift) finden Sie in der Grundanleitung Docker-Ordner und Berechtigungen auf dem Synology NAS.

Pfad-MusterKorrekt?Hinweis
/volume1/docker/appname/config:/configJaAbsoluter Pfad mit Volume-Nummer
./config:/configNeinRelative Pfade funktionieren nicht
/docker/appname/config:/configNeinVolume-Nummer fehlt

Verifizieren: Navigieren Sie in der File Station zu /volume1/docker/. Der Unterordner Ihrer App und alle erforderlichen Unterverzeichnisse müssen sichtbar sein, bevor Sie mit Schritt 3 weitermachen.

Schritt 3: Projekt erstellen und compose.yaml einfügen

Klicken Sie im Container Manager auf Projekt > Erstellen und füllen Sie das Formular aus:

  1. Projektname: Nur Kleinbuchstaben und Bindestriche, keine Leerzeichen (z.B. beispiel-app statt Beispiel App)
  2. Pfad: Wählen Sie das vorher angelegte Verzeichnis, z.B. /volume1/docker/beispiel-app
  3. compose.yaml: Fügen Sie den Inhalt direkt in den Editor ein oder laden Sie eine vorbereitete Datei hoch

Der bevorzugte Dateiname ist compose.yaml; docker-compose.yml wird weiterhin akzeptiert.

Eine typische Basis-compose.yaml für Synology-Projekte sieht so aus:

services:
  beispiel-app:
    image: registry/imagename:latest
    container_name: beispiel-app
    restart: unless-stopped
    environment:
      - PUID=1026
      - PGID=100
      - TZ=Europe/Berlin
    volumes:
      - /volume1/docker/beispiel-app/config:/config
      - /volume1/docker/beispiel-app/data:/data
    ports:
      - "8080:8080"

Wichtige Punkte zu den Werten:

  1. PUID/PGID: Die korrekten Werte für Ihren Admin-User ermitteln Sie per SSH mit id admin (typisch: PUID=1026, PGID=100). Details dazu in der Grundanleitung Docker-Ordner und Berechtigungen.
  2. restart: unless-stopped: Der Container startet nach einem NAS-Neustart automatisch, manuell gestoppte bleiben gestoppt.
  3. Ports: Format "NAS-Port:Container-Port". Den NAS-Port zusätzlich in der DSM-Firewall erlauben.
VariableBeispielwertBedeutung
PUID1026User-ID des Synology-Admin (per id admin ermitteln)
PGID100Gruppen-ID „users“
TZEurope/BerlinZeitzone des Containers
restartunless-stoppedAutostart nach Reboot, nicht nach manuellem Stopp

Verifizieren: Nachdem Sie alle Felder ausgefüllt haben, zeigt der Container Manager eine Zusammenfassung. Prüfen Sie, ob Projektname, Pfad und der Inhalt der compose.yaml korrekt dargestellt werden, bevor Sie auf Weiter klicken.

Schritt 4: Projekt bauen und starten

Aktivieren Sie im letzten Schritt „Projekt nach Erstellung starten“ und bestätigen Sie. Ein Terminal-Fenster zeigt den Build in Echtzeit: Docker lädt das Image und startet den Container.

Das Ergebnis erkennen Sie am Exit-Code am Ende der Ausgabe:

...
Container started
Exit Code: 0

Exit Code 0 bedeutet Erfolg. Bei jedem anderen Code scrollen Sie im Terminal nach oben zur Fehlermeldung.

Verifizieren: Wechseln Sie in den Bereich Container. Ihr Container sollte mit dem Status „Wird ausgeführt“ (grüner Punkt) in der Liste erscheinen. Öffnen Sie außerdem den Browser und rufen Sie http://<NAS-IP>:<Host-Port> auf – die Web-Oberfläche der App sollte erreichbar sein. Falls nicht, prüfen Sie zuerst die Firewall (Schritt 7).

Schritt 5: Container-Logs lesen

Logs sind Ihr wichtigstes Diagnosewerkzeug. Im Container Manager gibt es zwei Wege:

  1. Container-Logs: Container > Container auswählen > Tab Log: Echtzeit-Ausgabe des Prozesses.
  2. Projekt-Logs: Projekt > Projekt auswählen > Details > Log: kombinierte Logs aller Container des Projekts.

Permission denied deutet auf falsche PUID/PGID oder fehlende Verzeichnisrechte, no such file or directory auf einen fehlenden Volume-Pfad.

Verifizieren: Öffnen Sie den Log-Tab des laufenden Containers. Sie sehen fortlaufende Ausgaben ohne rote Fehlermeldungen. Wenn die App einen Startvorgang abschließt (z.B. Server started on port 8080), ist der Container betriebsbereit.

Schritt 6: Projekt ändern – compose.yaml bearbeiten und neu bauen

Nach Änderungen an der compose.yaml (Umgebungsvariable, Port, Volume) reicht ein Neustart des Projekts nicht; wirksam werden sie erst nach einem Neu-Build.

Vorgehensweise:

  1. Klicken Sie im Bereich Projekt mit der rechten Maustaste auf Ihr Projekt und wählen Sie Beenden
  2. Öffnen Sie Details > YAML-Konfigurationen – der compose.yaml-Editor öffnet sich
  3. Nehmen Sie Ihre Änderungen vor und bestätigen Sie
  4. Rechtsklick > Erstellen (Build) – der Container wird mit der aktualisierten Konfiguration neu angelegt. Läuft das Projekt danach nicht, wählen Sie zusätzlich Starten.

Verifizieren: Prüfen Sie nach dem Build-Vorgang erneut den Exit Code (muss 0 sein) und kontrollieren Sie im Log-Tab, ob die Änderung wie erwartet wirksam ist – z.B. ein neuer Port wird jetzt genutzt oder eine neue Umgebungsvariable erscheint im Startlog.

Schritt 7: Firewall-Regel für den Container-Port setzen

Ist ein laufender Container nicht erreichbar, blockiert meist die DSM-Firewall den Host-Port. Fügen Sie unter Systemsteuerung > Sicherheit > Firewall eine Regel hinzu, die den NAS-Port (z. B. 8080) für die gewünschten Quell-IPs freigibt.

Alle Details dazu – inklusive Interface-Auswahl und Regelreihenfolge – erklärt die Grundanleitung DSM-Firewall auf dem Synology NAS: Ports für Docker-Container freigeben.

Verifizieren: Rufen Sie http://<NAS-IP>:<Host-Port> von einem anderen Gerät im Netzwerk auf. Die Web-Oberfläche der App muss jetzt laden.

Schritt 8: Images aktualisieren und Container neu bauen

Image-Update und Container-Neubau sind zwei separate, zwingend notwendige Schritte: Ohne Neubau nutzt der laufende Container weiter das alte Image.

Vorgehensweise für ein Update:

  1. Wechseln Sie in den Bereich Image. Nach mindestens 12 Stunden Laufzeit erscheint neben Images mit dem :latest-Tag der Hinweis „Update verfügbar“
  2. Klicken Sie auf Update – Docker lädt das neue Image herunter
  3. Wechseln Sie zu Projekt, Rechtsklick auf das Projekt > Beenden
  4. Rechtsklick > Erstellen (Build) – der Container wird mit dem neuen Image neu angelegt. Läuft das Projekt danach nicht, wählen Sie zusätzlich Starten.

Wichtige Einschränkungen der Update-Erkennung:

  1. Der Container Manager meldet Updates nur für :latest-Tags von Docker Hub
  2. Spezifische Versions-Tags (z.B. :3.2.1) und Images von der GitHub Container Registry (ghcr.io) erhalten keine automatische Update-Benachrichtigung
  3. Für lückenlose Update-Überwachung aller Image-Tags empfiehlt sich DIUN (Docker Image Update Notifier) als eigener Container im Container Manager

Sonderfall Datenbank-Images: Bei PostgreSQL, MariaDB oder MySQL kann ein Major-Version-Upgrade (z. B. 15 auf 16) zu Datenbankkorruption führen. Legen Sie vor jedem Update ein Backup an und prüfen Sie die Migrations-Hinweise des Datenbankprojekts.

Verifizieren: Wechseln Sie nach dem Rebuild in den Bereich Image. Neben dem aktualisierten Image sollte kein „Update verfügbar“-Hinweis mehr stehen. Prüfen Sie im Container-Log, ob die neue Version gestartet ist – viele Apps geben beim Start ihre Versionsnummer aus.

Troubleshooting / Typische Fehler

  1. „no such file or directory“ beim Container-Start: Ein Volume-Pfad existiert nicht. Host-Verzeichnisse vorher in der File Station anlegen; Pfade müssen mit /volume1/ (oder /volume2/ usw.) beginnen, relative Pfade wie ./config funktionieren nicht.
  2. Container läuft, App ist nicht erreichbar: DSM-Firewall blockiert den Port; Freigabe-Regel anlegen (Schritt 7).
  3. „Permission denied“ in den Logs: PUID/PGID passen nicht zum Besitzer des Host-Verzeichnisses. IDs per SSH mit id admin ermitteln und in der compose.yaml anpassen.
  4. Image-Update zeigt keine Wirkung: Container nicht neu erstellt. Projekt beenden, dann Erstellen (Build) wählen, nicht nur Starten.
  5. Kein Update-Hinweis für ein Image: Hinweise gibt es nur für :latest-Tags von Docker Hub. Für andere Tags oder ghcr.io DIUN oder manuellen Pull nutzen.
  6. Container startet nach NAS-Neustart nicht: restart-Policy fehlt oder steht auf no. restart: unless-stopped ergänzen, Projekt beenden und neu erstellen.
  7. Projektname verursacht Probleme: Nur Kleinbuchstaben und Bindestriche verwenden (z. B. mein-projekt), keine Großbuchstaben, Leerzeichen oder Sonderzeichen.
  8. Container Manager lässt sich im Paket-Zentrum nicht installieren: Das NAS-Modell wird nicht unterstützt (z. B. ältere ARM-Modelle wie DS118, DS218j), siehe Voraussetzungen.

Häufige Fragen

Muss ich SSH nutzen, um Docker Compose auf dem Synology NAS zu verwenden?

Nein. Seit DSM 7.2 können Sie die gesamte compose.yaml direkt im Browser über Container Manager > Projekt > Erstellen eingeben oder hochladen. SSH ist für den normalen Betrieb nicht erforderlich. Nur für spezielle Aufgaben wie das Ermitteln von PUID/PGID oder das Debuggen von Berechtigungsproblemen ist ein SSH-Zugang hilfreich – wie Sie ihn einrichten, zeigt die Grundanleitung SSH auf dem Synology NAS aktivieren und verbinden.

Wo lege ich den Projektordner am besten an?

/volume1/docker/<appname>: ein zentraler docker-Shared-Folder mit einem Unterordner pro Projekt, Namen in Kleinbuchstaben mit Bindestrichen (Schritt 2).

Warum sehe ich kein Update für mein Image, obwohl eine neue Version erschienen ist?

Der Container Manager prüft Updates nur für Images mit dem Tag :latest und ausschließlich von Docker Hub. Für andere Tags (z.B. :v2.5.0) oder Images von ghcr.io erscheint kein Update-Hinweis. Die Lösung ist DIUN (Docker Image Update Notifier) als eigener Container – der Vergleichsartikel Docker-Container automatisch aktualisieren: Diun, WUD und Renovate im Vergleich erklärt die Optionen.

Was passiert mit meinen Containern nach einem NAS-Neustart?

Container mit restart: unless-stopped, die beim Herunterfahren liefen, starten automatisch. Manuell gestoppte bleiben gestoppt; Container ohne Policy oder mit restart: no starten Sie manuell.

Was ist der Unterschied zwischen Container Manager, Portainer und Dockge?

Der Container Manager ist das in DSM eingebaute Tool – kein Extra-Container, kein zusätzlicher Aufwand, ideal für den Einstieg und für alle, die direkt in der DSM-Oberfläche bleiben wollen. Portainer läuft als eigener Container und bietet erheblich mehr Funktionen (Multi-Host-Management, RBAC, Template-Bibliothek), ist dafür aber komplexer einzurichten – die Anleitung dazu: Portainer auf Synology NAS installieren. Dockge ist ein schlankes, modernes Stack-orientiertes Tool speziell für Docker Compose mit übersichtlicherem Interface als Portainer, ebenfalls als Container betrieben – Setup: Dockge auf dem Synology NAS installieren.

Kann ich eine compose.yaml von einem Linux-Server auf dem Synology NAS verwenden?

Ja, wenn Sie alle Volume-Pfade auf /volume1/... umschreiben; relative Pfade wie ./data funktionieren nicht. Auf ARM-NAS prüfen Sie, ob das Image eine linux/arm64-Variante hat.

Fazit

Die Kernprinzipien: Ordner vorher anlegen, absolute Pfade mit Volume-Nummer, restart: unless-stopped setzen und beim Update Image pullen und Container neu bauen. Damit lassen sich alle App-Anleitungen auf s-edv.com umsetzen.

Weiterführende Anleitungen und Quellen

  1. SSH auf dem Synology NAS aktivieren und verbinden: PuTTY und Terminal
  2. Docker-Ordner und Berechtigungen auf dem Synology NAS: File Station, PUID und PGID
  3. DSM-Firewall auf dem Synology NAS: Ports für Docker-Container freigeben
  4. Docker-Container automatisch aktualisieren: Diun, WUD und Renovate im Vergleich
  5. Portainer auf Synology NAS installieren
  6. Dockge auf dem Synology NAS installieren: Docker-Compose-Stacks einfach verwalten
  7. Docker Compose: Multi-Container-Stacks aufbauen

Offizielle Quellen: Synology Knowledge Center: Container Manager – Project | Docker Compose Services Reference (Restart, Ports, Volumes) | Docker Compose Application Model