Das Projekt hat zwei sinnvolle Wege zum Bauen und Ausführen:
- Lokale Entwicklung (
DEV) - Docker-basierter Betrieb für Test/Prod
Diese Datei ist die zentrale Doku für beide Wege.
Für lokale Entwicklung:
pnpm devFür Test/Prod per Docker:
docker compose up -d --buildVoraussetzungen:
- Node.js und pnpm
- laufende PostgreSQL-Datenbank oder Docker-Postgres
- installierte Abhängigkeiten (
pnpm install)
Vom Repo-Root:
pnpm devDas startet:
- Server im Watch-Modus
- Client UI per Angular Dev Server
Standardmäßig:
- Client UI:
http://localhost:4200 - Server:
http://localhost:3000
Nur Client UI:
pnpm dev:client-uiNur Server:
pnpm dev:serverNeue oder geänderte Migrationen im Dev-Modus anwenden:
pnpm --filter @wizard/server prisma:migratePrisma Client neu generieren:
pnpm --filter @wizard/server prisma:generateEinfachster Start vom Repo-Root:
docker compose up -d --buildDanach ist die App standardmäßig unter http://localhost:8080 bzw. unter der VM-/Host-IP auf Port 8080 erreichbar.
Stoppen und neu deployen:
docker compose down
docker compose up -d --buildDie docker-compose.yml nutzt sinnvolle Defaults. Du kannst Werte per Shell-Umgebung oder .env im Repo überschreiben.
Verwende bewusst die DOCKER_-Varianten, damit es keine Kollision mit deiner bestehenden App-.env gibt:
DOCKER_CLIENT_UI_URL(Default:http://localhost:8080)DOCKER_SERVER_PORT(Default:3000)DOCKER_DATABASE_URL(Default:postgresql://wizard:wizard@postgres:5432/wizard)DOCKER_POSTGRES_USER/DOCKER_POSTGRES_PASSWORD/DOCKER_POSTGRES_DBDOCKER_HOST_DISCONNECT_TIMEOUT_MS(Default:600000)
Beispiel für LAN:
DOCKER_CLIENT_UI_URL=http://192.168.178.50:8080 docker compose up -d --build- Der Client verbindet lokal im Dev-Modus weiter zu
http://localhost:3000. - Im Docker-Betrieb nutzt der Client die gleiche Origin und Nginx proxyt
/socket.iointern zum Server. - Datenbankdaten sind persistent im Volume
postgres_data.
Wenn du die Datenbank gezielt aktualisieren willst, ohne einen Dev-Migrate-Lauf zu machen:
pnpm --filter @wizard/server prisma:deployDas ist der passende Weg für bestehende Migrationsdateien in Test-/Prod-Umgebungen.
Alles bauen:
pnpm buildNur Client UI bauen:
pnpm build:client-uiNur Server bauen:
pnpm build:serverDEV:pnpm devTest/Prod:docker compose up -d --build- DB-Update für bestehende Migrationen:
pnpm --filter @wizard/server prisma:deploy