Beiträge in diesem Abschnitt

Die Plattform mit Docker Compose für die Entwicklung betreiben

Veröffentlicht:
Aktualisiert:

Das Repository enthält einen Docker-Compose-Stack für lokale Entwicklung und Tests. Er betreibt eine PostgreSQL-Datenbank und die Anwendung MobilityManager (API zuzüglich gebündelter Angular-Oberfläche) gemeinsam, mit einem optionalen pgAdmin-Werkzeug. Dieser Artikel führt Sie durch die Nutzung.

Was der Stack enthält

  • postgres — eine postgres:16-alpine-Datenbank, verfügbar über Port 5432, initialisiert mit der System- und der Mandantendatenbank.
  • api — die aus dem Dockerfile des API-Dienstes gebaute Anwendung, verfügbar über Port 8080, die sowohl die API als auch die Oberfläche bereitstellt.
  • pgadmin — eine optionale Datenbank-Oberfläche auf Port 5050, die nur mit dem Profil tools gestartet wird.

Der API-Dienst läuft mit ASPNETCORE_ENVIRONMENT=Production und DatabaseProvider=PostgreSQL, wobei die Verbindungszeichenfolgen bereits auf den Dienst postgres verweisen.

Erforderliche Einstellungen bereitstellen

Die Compose-Datei setzt einen JWT-Signaturschlüssel voraus und akzeptiert ein Datenbankkennwort. Erstellen Sie eine .env-Datei im Stammverzeichnis des Repositorys:

POSTGRES_PASSWORD=DevPassword123!
JWT_KEY=YourSecretKeyThatMustBeAtLeast32CharactersLong!

Warnung: JWT_KEY ist obligatorisch — der Stack läuft als Production, und es gibt keinen eingecheckten Ausweichschlüssel, sodass Compose sofort abbricht, wenn er fehlt. Verwenden Sie den Beispielschlüssel aus .env.example nicht erneut; er ist ein bekannter Wert und wird außerhalb von Development abgelehnt.

Den Stack starten

  1. Bauen und starten Sie die Dienste:
    docker compose up --build
  2. Warten Sie, bis der Health-Check der Datenbank erfolgreich ist; die API wartet auf eine funktionierende Datenbank, bevor sie startet.
  3. Öffnen Sie http://localhost:8080 in Ihrem Browser. Beim ersten Start werden Sie zum Einrichtungsassistenten weitergeleitet.

Optionale Datenbankwerkzeuge

Um pgAdmin zusammen mit dem Stack zu starten, aktivieren Sie das Profil tools:

docker compose --profile tools up -d

pgAdmin ist dann unter http://localhost:5050 mit den Zugangsdaten aus PGADMIN_EMAIL und PGADMIN_PASSWORD verfügbar.

Zustand prüfen und beenden

Der API-Container verfügt über einen integrierten Health-Check, der /healthz aufruft. Sie können ihn manuell überprüfen:

curl http://localhost:8080/healthz

Stoppen und entfernen Sie die Container, wenn Sie fertig sind:

docker compose down

Hinweis: Die Datenbankdaten bleiben zwischen den Läufen im Volume postgres_data erhalten. Um vollständig neu zu beginnen, entfernen Sie die Volumes mit docker compose down -v.

Verwandte Artikel

  • Die Plattform mit Docker Compose in der Produktion betreiben
  • Umgebungsvariablen und die .env-Datei konfigurieren
  • Den JWT-Signaturschlüssel für die Produktion festlegen
  • Die Health-Endpunkte verstehen
AH
Geschrieben von Alexander Hagemann
Aktualisiert:
Zugriff abgelehnt
Zugriff abgelehnt