DDEV und Devcontainer
Lokalen Stack starten
# DDEV
ddev start# Devcontainer (Podman)
devcontainer up --workspace-folder .ddev start bzw. devcontainer up --workspace-folder . erzeugt und startet die lokale Container-Umgebung für Entwicklung und Tests.
Beide Befehle erkennen außerdem automatisch deine Host-Architektur (amd64 vs. arm64) und ziehen für zms-web das passende lokale PHP-Basis-Image-Tag.
Wie du Podman oder Docker auf dem Host vollständig bereinigst und den Stack neu erzeugst, beschreibt Schnelles Zurücksetzen der lokalen Umgebung.
Auf macOS siehe Podman und Dev Containers unter macOS und Lokales HTTPS-SSL für DDEV (macOS).
Container und lokale Endpunkte
Folgende lokale Container werden bei ddev start bzw. devcontainer up --workspace-folder . automatisch erzeugt:
zms-web(vorgebautes lokales PHP-Basis-Image), App-Endpunkt:http://localhost:8090zms-refarch-gateway(RefArch-API-Gateway-Image), Endpunkt:http://localhost:8084zms-keycloak(gleiche Keycloak-Image-Familie wie die RefArch-Einrichtung), Endpunkt:http://localhost:8080/authzms-db(MariaDB), DB-Port:3306zms-phpmyadmin, Endpunkt:http://localhost:8036zms-citizenview, Vite-Hot-Reload-Endpunkt:http://localhost:8082
Automatische Einrichtung beim Start
Beim lokalen Start bereitet die Umgebung außerdem den Hauptentwicklungs-Flow vor:
- führt
composer install,npm installundnpm buildinzms-webaus - richtet
zmscitizenviewim lokalen Containerzms-citizenviewmitnpm installundnpm run devein und startet Hot Reload auflocalhost:8082 - installiert in
zms-webWerkzeuge zur Browser-Automatisierung für lokalezmsautomation-Läufe (Firefox/Xvfb sowie WebDriver-Unterstützung für Chrome/Chromium, Edge und Firefox viachromedriver,msedgedriverundgeckodriver)
Damit umfassen ddev start und devcontainer up --workspace-folder . bereits den Install-/Build-/Bootstrap-Flow inklusive ./cli db full-setup.
Modul-Abhängigkeits-/Build-Befehle kannst du jederzeit erneut ausführen:
# DDEV
ddev exec ./cli modules loop composer install
ddev exec ./cli modules loop npm install
ddev exec ./cli modules loop npm build# Podman
podman exec -it zms-web bash -lc "./cli modules loop composer install"
podman exec -it zms-web bash -lc "./cli modules loop npm install"
podman exec -it zms-web bash -lc "./cli modules loop npm build"Datenbank-Initialisierung (./cli db full-setup)
Die lokale Einrichtung führt ./cli db full-setup aus und:
- importiert die Basis-DB aus
.resources/zms.sql - importiert DLDB-Standorte/-Anliegen über den Stunden-Cron-Flow
- importiert produktionsnahe Testdaten aus
zmsautomation-Flyway-Migrationen - führt Datenbankmigrationen aus
- führt den Minuten-Cron aus, um öffnungszeitenbezogene Testdaten zu erzeugen
Du kannst die vollständige Einrichtung jederzeit erneut ausführen:
# DDEV
ddev exec ./cli db full-setup# Podman
podman exec -it zms-web bash -lc "./cli db full-setup"Hinweise zur Keycloak-Hostzuordnung und zu Linux-Podman siehe Lokale Keycloak-Einrichtung.