Docker Compose auf dem NAS: Multi-Container-Setups einfach verwalten
Dieser Artikel kann Affiliate-Links enthalten. Wenn du über diese Links einkaufst, erhalten wir möglicherweise eine kleine Provision — ohne Mehrkosten für dich. Das hilft uns, weiterhin kostenlose Inhalte zu erstellen.
Docker Compose verarbeitet YAML-Dateien mit bis zu 200 Service-Definitionen in einer einzigen Konfiguration, auf einem Synology DS423+ oder QNAP TS-464 startest du damit komplette Anwendungsstacks mit einem einzigen Befehl.
Was Docker Compose auf dem NAS leistet
Einzelne Container manuell zu konfigurieren funktioniert bei zwei oder drei Diensten. Ab fünf Services wird das unübersichtlich und fehleranfällig. Docker Compose definiert alle Container, Netzwerke, Volumes und Umgebungsvariablen in einer strukturierten YAML-Datei. Das Ergebnis: vollständig reproduzierbare Setups, die du sichern, versionieren und mit einem einzigen Befehl auf einem neuen NAS wiederherstellen kannst.
Typische Multi-Container-Setups auf dem NAS, die ohne Compose kaum verwaltbar wären:
- Immich mit 5 separaten Services: Server, Machine Learning, Redis, PostgreSQL und Reverse Proxy
- Nextcloud mit App-Server, MariaDB-Datenbank und Redis-Cache als drei Container
- Monitoring-Stack bestehend aus Prometheus, Grafana, Node-Exporter und cAdvisor
- Medien-Automatisierung mit Radarr, Sonarr, Prowlarr, qBittorrent und Jellyfin
Der entscheidende Vorteil gegenüber der manuellen Container-Verwaltung über die GUI: Compose speichert die gesamte Konfiguration deklarativ in einer Textdatei. Du beschreibst den gewünschten Zustand, Docker kümmert sich um die Umsetzung. Bei einem NAS-Wechsel oder nach einem Reset kopierst du die YAML-Datei und die persistenten Daten auf das neue System und führst einen einzigen Befehl aus, der gesamte Stack läuft sofort wieder identisch.
Docker Compose auf Synology DSM 7.2 einrichten
Synology DS423+ für Docker
Unsere Empfehlung passend zu diesem Thema
* Affiliate-Link, du zahlst nicht mehr, wir erhalten eine kleine Provision
Synologys Container Manager unterstützt Docker Compose seit DSM 7.2 nativ über die grafische Oberfläche. Der Einrichtungsprozess im Detail:
- Container Manager öffnen und im linken Menü auf Projekt klicken
- Auf Erstellen klicken und einen aussagekräftigen Projektnamen vergeben (z. B. "monitoring-stack")
- Pfad auswählen, empfohlen:
/volume1/docker/projektname - Im Editor die YAML-Konfiguration einfügen oder eine vorhandene docker-compose.yml aus dem Dateisystem auswählen
- Umgebungsvariablen im Tab Einstellungen hinterlegen oder alternativ eine .env-Datei im Projektverzeichnis anlegen
- Auf Erstellen klicken, der Container Manager zieht alle Images automatisch und startet sämtliche Services in der definierten Reihenfolge
Für fortgeschrittene Nutzer bietet der SSH-Zugang deutlich mehr Flexibilität und schnellere Iteration bei der Fehlersuche. Nach dem Login per SSH wechselst du in das Projektverzeichnis und startest den Stack mit dem Befehl docker compose up -d, der alle Container im Hintergrund startet.
Docker Compose auf QNAP Container Station
QNAPs Container Station bietet Compose-Unterstützung ab QTS 5.1. Die Benutzeroberfläche unterscheidet sich von Synology, das Grundprinzip bleibt aber identisch:
- Container Station öffnen und den Reiter Erstellen wählen
- Docker Compose als Erstellungstyp auswählen
- Im integrierten YAML-Editor die Konfiguration einfügen oder eine Datei direkt hochladen
- Speicherpfad festlegen, Standard auf QNAP: /share/Container/projektname
- Optional Ressourcenlimits für CPU und RAM pro Container definieren
- Auf Erstellen und Starten klicken, alle definierten Container werden heruntergeladen und gestartet
QNAP erlaubt über die Container Station auch das direkte Bearbeiten laufender Compose-Projekte. Änderungen an der YAML-Datei lassen sich über die Oberfläche anwenden, ohne den gesamten Stack komplett neu erstellen zu müssen. Per SSH steht der gleiche Befehlssatz wie auf Synology zur Verfügung.
YAML-Struktur und Syntax verstehen
Eine Compose-Datei gliedert sich in drei Hauptbereiche: Services definieren die einzelnen Container, Volumes legen persistente Speicherbereiche fest und Networks erstellen isolierte Kommunikationskanäle zwischen den Containern. Die wichtigsten Konfigurationsoptionen für NAS-Deployments:
- image: Container-Image mit festem Versions-Tag angeben (z. B. postgres:16.2 statt :latest), um ungewollte Breaking Changes bei automatischen Updates zu verhindern
- volumes: Persistente Daten immer auf dem NAS-Volume speichern, damit sie Container-Neustarts und Image-Updates überleben
- environment: Konfigurationswerte über Umgebungsvariablen setzen oder aus einer separaten .env-Datei laden
- restart: unless-stopped: Container starten nach jedem NAS-Reboot automatisch, es sei denn du hast sie bewusst manuell gestoppt
- depends_on: Startreihenfolge zwischen Containern definieren, die Datenbank muss vor der Anwendung verfügbar sein
- healthcheck: Regelmäßige Zustandsprüfung konfigurieren, damit Docker fehlerhafte Container automatisch erkennt und neu startet
Praxisbeispiel: Monitoring-Stack aufsetzen
Ein vollständiges Monitoring-Setup für dein Heimnetzwerk besteht aus vier Containern, die über Docker Compose als Einheit verwaltet werden. Prometheus sammelt Metriken von allen konfigurierten Zielen und speichert sie in einer Zeitreihendatenbank. Grafana visualisiert die Daten in anpassbaren Dashboards. Node-Exporter liefert System-Metriken wie CPU-Auslastung, RAM-Verbrauch und Festplatten-Gesundheit direkt vom NAS. cAdvisor überwacht den Ressourcenverbrauch aller laufenden Docker-Container in Echtzeit.
Ressourcenbedarf dieses Stacks auf einem typischen Heim-NAS:
- RAM: ca. 512 MB gesamt (Prometheus 256 MB, Grafana 128 MB, Exporter je ca. 64 MB)
- CPU: minimal, selbst ein Celeron J4125 hat ausreichend Reserven neben anderen Diensten
- Speicher: 1 bis 5 GB je nach konfigurierter Daten-Retention (Standard bei Prometheus: 15 Tage)
- Netzwerk: Alle vier Container kommunizieren über ein gemeinsames internes Docker-Netzwerk, das vom restlichen Netzwerk isoliert ist
Container aktualisieren und warten
Updates laufen mit Docker Compose strukturiert und kontrolliert ab. Der bewährte Workflow in drei Schritten: Zuerst neue Image-Versionen mit docker compose pull aus der Container-Registry herunterladen. Dann mit docker compose up -d nur die Container mit geänderten Images neu erstellen, alle unveränderten Container bleiben unberührt und laufen ohne Unterbrechung weiter. Abschließend mit docker image prune alte, nicht mehr referenzierte Images entfernen und so wertvollen Speicherplatz auf dem NAS freigeben.
Für automatische Updates installierst du Watchtower als separaten Docker-Container. Watchtower prüft in konfigurierbaren Intervallen (Standard: alle 24 Stunden), ob neue Image-Versionen für deine laufenden Container verfügbar sind, und aktualisiert betroffene Container automatisch. Allerdings können automatische Major-Version-Updates zu Inkompatibilitäten führen.
Best Practices für produktive NAS-Setups
- Ein Projekt pro Compose-Datei: Trenne zusammengehörige Services in eigene Projekte statt alles in eine einzige riesige Datei zu packen, das erleichtert Wartung und Fehlersuche erheblich
- Einheitliche Ordnerstruktur: Lege für jedes Projekt ein Verzeichnis unter /volume1/docker/ an mit der docker-compose.yml und .env im selben Ordner
- Volumes auf NAS-Storage: Speichere persistente Daten niemals im Container-Layer, sondern immer auf einem NAS-Volume, Container sind kurzlebig, Daten nicht
- Docker-Netzwerke trennen: Erstelle separate Netzwerke für verschiedene Dienste-Gruppen (ein Netzwerk für den Medien-Stack, eines für Monitoring, eines für Smart Home)
- Health-Checks konfigurieren: Docker erkennt damit hängende Container und startet sie automatisch neu, ohne dass du manuell eingreifen musst
- Logging begrenzen: Setze max-size auf 10 MB und max-file auf 3 in der Logging-Konfiguration jedes Services, um volle Festplatten durch unkontrolliert wachsende Logdateien zu verhindern
Dein NAS als reproduzierbare Plattform
Docker Compose verwandelt dein NAS in eine vollständig reproduzierbare und dokumentierte Plattform. Bei einem Hardwaredefekt, NAS-Wechsel oder nach einem Zurücksetzen auf Werkseinstellungen kopierst du die Compose-Dateien und die persistenten Daten-Volumes auf das neue System. Ein einziger Befehl stellt den gesamten Stack wieder her, inklusive aller Konfigurationen, Netzwerke, Umgebungsvariablen und Abhängigkeiten zwischen den Containern. Sichere deine Compose-Dateien daher immer getrennt von den Container-Daten, idealerweise in einem Git-Repository direkt auf dem NAS. So hast du eine versionierte Dokumentation deines gesamten Container-Setups, kannst Änderungen nachvollziehen und das Setup jederzeit auf ein anderes System übertragen.
Veröffentlicht durch die SmartHomePraxis-Redaktion. Veröffentlicht am 25. August 2026.
Verantwortlich i.S.d. § 18 MStV: siehe Impressum.
Fehler entdeckt oder ergänzende Erfahrung? korrektur@smarthomepraxis.de
Smart-Home-Tipps direkt ins Postfach
Neue Anleitungen, Vergleiche und Praxis-Tipps – kein Spam, jederzeit abbestellbar.
🎁 Gratis dazu: Smart-Home-Starter-Guide (PDF)
Das könnte dich auch interessieren
Synology Active Backup for Business: Kostenlose PC-Sicherung
Active Backup for Business sichert Windows-PCs, Linux-Server und VMs direkt auf dein NAS – komplett kostenlos und mit Bare-Metal-Restore.
M.2 NVMe Cache im NAS: Einrichtung und Performance-Gewinn
Ein NVMe-Cache für 40 EUR beschleunigt Foto-Browsing um 300 % und Docker-Starts um 60 %. Einrichtung auf Synology und QNAP.
QNAP TS-264 im Test: 2-Bay-Power zum fairen Preis
Intel N5095, 8 GB RAM, 2,5GbE und HDMI für unter 300 EUR – die QNAP TS-264 bietet mehr Hardware als jeder Synology-Konkurrent.