Ratgeber/Docker Compose auf dem NAS: Multi-Container-Setups einfach verwalten
Docker Compose auf dem NAS: Multi-Container-Setups einfach verwalten

Docker Compose auf dem NAS: Multi-Container-Setups einfach verwalten

·0 Aufrufe

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.

nasdockerdocker-composecontaineranleitung

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:

Docker compose nas anleitung: practical guide overview
Docker compose nas anleitung
  • 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

Bei Amazon ansehen →

Synologys Container Manager unterstützt Docker Compose seit DSM 7.2 nativ über die grafische Oberfläche. Der Einrichtungsprozess im Detail:

  1. Container Manager öffnen und im linken Menü auf Projekt klicken
  2. Auf Erstellen klicken und einen aussagekräftigen Projektnamen vergeben (z. B. "monitoring-stack")
  3. Pfad auswählen, empfohlen: /volume1/docker/projektname
  4. Im Editor die YAML-Konfiguration einfügen oder eine vorhandene docker-compose.yml aus dem Dateisystem auswählen
  5. Umgebungsvariablen im Tab Einstellungen hinterlegen oder alternativ eine .env-Datei im Projektverzeichnis anlegen
  6. Auf Erstellen klicken, der Container Manager zieht alle Images automatisch und startet sämtliche Services in der definierten Reihenfolge
Docker compose nas anleitung: step-by-step visual example
Docker compose nas anleitung

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.

⚠️ Wichtig: Verwende docker compose (mit Leerzeichen), nicht das veraltete docker-compose (mit Bindestrich). DSM 7.2 nutzt ausschließlich das Docker Compose V2-Plugin. Der alte Befehl funktioniert nicht mehr und erzeugt eine Fehlermeldung.

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:

  1. Container Station öffnen und den Reiter Erstellen wählen
  2. Docker Compose als Erstellungstyp auswählen
  3. Im integrierten YAML-Editor die Konfiguration einfügen oder eine Datei direkt hochladen
  4. Speicherpfad festlegen, Standard auf QNAP: /share/Container/projektname
  5. Optional Ressourcenlimits für CPU und RAM pro Container definieren
  6. 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.

Docker compose nas anleitung: helpful reference illustration
Docker compose nas anleitung

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
💡 Tipp: Lagere sensible Daten wie Datenbank-Passwörter und API-Keys immer in eine .env-Datei aus. In der YAML-Datei referenzierst du die Variablen mit der Syntax. Die .env-Datei gehört nicht in ein öffentliches Repository und sollte getrennt und sicher gesichert werden.

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.

⚠️ Warnung: Nutze feste Image-Tags (z. B. immich:v1.99.0) statt :latest für kritische und datenführende Dienste wie Datenbanken, Nextcloud oder Immich. Aktualisiere diese manuell nach sorgfältiger Prüfung der Release Notes und erstelle vorher ein Backup. Watchtower eignet sich primär für unkritische Tools wie Monitoring-Dashboards oder Utility-Container.

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.

🧭Teil unseres Themen-Hubs: NAS & Netzwerkspeicher

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

Artikel teilen

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

Kommentare (0)

Kommentar schreiben

Kommentare werden vor der Veröffentlichung geprüft.