Zum Inhalt springen

Projekte registrieren & erkennen

Bevor MultiDocker ein Projekt betreiben kann, muss es davon wissen. Die Registrierung hält Pfad, gewähltes Profil und Hostnamen des Projekts in registry.json fest und erzeugt seine Override-Datei.

scan durchläuft einen Verzeichnisbaum auf der Suche nach Compose-Dateien (Standard-Wurzel ~/Projects, maximale Tiefe 4):

mdocker scan
mdocker scan
mdocker scan ~/clients --json

Es ist read-only — nichts wird registriert, bis du init ausführst.

detect führt die Profil-Heuristik gegen eine Compose-Datei aus, ohne etwas zu registrieren:

mdocker detect
mdocker detect ~/Projects/aurora/docker-compose.yml
mdocker init
mdocker init ~/Projects/aurora

init erkennt das Profil, schreibt ~/.config/multi-docker/overrides/<name>.override.yml und fügt das Projekt zur Registry hinzu. Bei dockware-basierten Projekten patcht es zusätzlich die .docker/proxy/*.conf-Dateien des Projekts.

Flag Zweck
--name <N> Einen expliziten Projektnamen statt des Verzeichnisnamens verwenden.
--profile <P> Ein bestimmtes Profil statt des erkannten erzwingen.
--host <H> Einen Hostnamen setzen. Wiederhole das Flag für mehrere Hostnamen.
explizite Registrierung
mdocker init ~/Projects/aurora \
--name aurora \
--profile generic \
--host aurora.coding9.test \
--host admin.aurora.coding9.test

Die Heuristik (engine/detect.sh) inspiziert Image- und Service-Namen in der Compose-Datei und wählt das am besten passende Template. Mitgelieferte Profile sind unter anderem:

  • shopware-dockware — Shopware 6 mit dem Dockware-Proxy.
  • strapi-next — ein Next.js-Frontend mit einem Strapi-Headless-Backend.
  • api-web-postgres — ein nginx-Reverse-Proxy vor getrenntem api- und web-Service mit PostgreSQL-Datenbank.
  • generic — das Fallback: jeder Service, der Port 80 oder 8080 exponiert, bekommt automatisch synthetisierte Traefik-Labels.

Wenn die Erkennung falsch rät, übergib --profile bei init, oder ändere es später und rendere neu. Um zu lernen, wie Templates geschrieben und angepasst werden, siehe Profile schreiben & anpassen und die Konzept-Seite Profile & Templating.