meldestelle/GATEWAY-STARTUP-GUIDE.md
2025-09-04 13:54:30 +02:00

4.6 KiB

Gateway Startup Guide - Korrigierte Befehle

Dieses Dokument erklärt die korrekten Befehle zum Starten des API Gateways sowohl mit Gradle als auch mit Docker.

Wichtiger Hinweis: Arbeitsverzeichnis

ALLE BEFEHLE MÜSSEN AUS DEM PROJEKT-ROOT-VERZEICHNIS AUSGEFÜHRT WERDEN:

# Sicherstellen, dass Sie im richtigen Verzeichnis sind
cd /home/stefan/WsMeldestelle/Meldestelle

# Überprüfen des aktuellen Verzeichnisses
pwd
# Sollte ausgeben: /home/stefan/WsMeldestelle/Meldestelle

# Überprüfen, dass gradlew vorhanden ist
ls -la gradlew

1. Gateway mit Gradle starten

Entwicklungsumgebung (Development)

# Aus dem Projekt-Root-Verzeichnis:
./gradlew :infrastructure:gateway:bootRun

# Mit spezifischem Profil:
./gradlew :infrastructure:gateway:bootRun --args='--spring.profiles.active=dev'

Produktionsumgebung

# Gateway JAR bauen:
./gradlew :infrastructure:gateway:bootJar

# Gateway ausführen:
java -jar infrastructure/gateway/build/libs/gateway-*.jar

2. Gateway mit Docker starten

Docker Image bauen

# Aus dem Projekt-Root-Verzeichnis:
docker build -t meldestelle/gateway:latest -f infrastructure/gateway/Dockerfile .

# Mit Build-Argumenten (optional):
docker build \
  --build-arg SPRING_PROFILES_ACTIVE=prod \
  -t meldestelle/gateway:latest \
  -f infrastructure/gateway/Dockerfile .

Docker Container starten

# Einfacher Start:
docker run -p 8080:8080 meldestelle/gateway:latest

# Mit Umgebungsvariablen:
docker run \
  -p 8080:8080 \
  -e SPRING_PROFILES_ACTIVE=prod \
  -e CONSUL_HOST=localhost \
  -e CONSUL_PORT=8500 \
  --name gateway \
  meldestelle/gateway:latest

# Im Hintergrund starten:
docker run -d \
  -p 8080:8080 \
  -e SPRING_PROFILES_ACTIVE=prod \
  --name gateway \
  meldestelle/gateway:latest

Docker Container verwalten

# Container Status prüfen:
docker ps

# Logs anzeigen:
docker logs gateway

# Container stoppen:
docker stop gateway

# Container entfernen:
docker rm gateway

# Image entfernen:
docker rmi meldestelle/gateway:latest

3. Gateway mit Docker Compose

docker-compose.yml verwenden

# Services starten (inkl. Gateway):
docker-compose up -d gateway

# Oder alle Services:
docker-compose up -d

# Logs verfolgen:
docker-compose logs -f gateway

# Services stoppen:
docker-compose down

4. Fehlerbehebung

Häufige Fehler und Lösungen

"./gradlew: Datei oder Verzeichnis nicht gefunden"

Problem: Sie befinden sich nicht im Projekt-Root-Verzeichnis. Lösung:

cd /home/stefan/WsMeldestelle/Meldestelle
ls -la gradlew  # Sollte die gradlew-Datei anzeigen

"lstat infrastructure: no such file or directory"

Problem: Docker build wird mit falschem Kontext ausgeführt. Lösung:

# Sicherstellen, dass Sie im Projekt-Root sind:
cd /home/stefan/WsMeldestelle/Meldestelle

# Dockerfile-Pfad korrekt angeben:
docker build -t meldestelle/gateway:latest -f infrastructure/gateway/Dockerfile .

"Image nicht gefunden" beim docker run

Problem: Das Image wurde noch nicht gebaut. Lösung:

# Zuerst das Image bauen:
docker build -t meldestelle/gateway:latest -f infrastructure/gateway/Dockerfile .

# Dann den Container starten:
docker run -p 8080:8080 meldestelle/gateway:latest

5. Gateway Health Check

Nach dem Start können Sie die Gateway-Gesundheit überprüfen:

# Health Endpoint:
curl http://localhost:8080/actuator/health

# Metriken:
curl http://localhost:8080/actuator/metrics

# Gateway-Routen:
curl http://localhost:8080/actuator/gateway/routes

6. Umgebungsvariablen

Wichtige Umgebungsvariablen für die Gateway-Konfiguration:

# Spring Profil
export SPRING_PROFILES_ACTIVE=dev|test|prod

# Consul Konfiguration
export CONSUL_HOST=localhost
export CONSUL_PORT=8500

# Gateway Admin Credentials
export GATEWAY_ADMIN_USER=admin
export GATEWAY_ADMIN_PASSWORD=secure-password

# Logging Level
export LOGGING_LEVEL_ROOT=INFO
export LOGGING_LEVEL_GATEWAY=DEBUG

7. Zusammenfassung der korrekten Befehle

# IMMER aus dem Projekt-Root-Verzeichnis:
cd /home/stefan/WsMeldestelle/Meldestelle

# Gateway mit Gradle starten:
./gradlew :infrastructure:gateway:bootRun

# Gateway Docker Image bauen:
docker build -t meldestelle/gateway:latest -f infrastructure/gateway/Dockerfile .

# Gateway Container starten:
docker run -p 8080:8080 meldestelle/gateway:latest

Wichtiger Hinweis: Alle Pfade sind relativ zum Projekt-Root-Verzeichnis (/home/stefan/WsMeldestelle/Meldestelle). Stellen Sie sicher, dass Sie sich immer in diesem Verzeichnis befinden, bevor Sie die Befehle ausführen.