43 lines
1.6 KiB
YAML
43 lines
1.6 KiB
YAML
services:
|
|
app:
|
|
image: node:22-alpine
|
|
container_name: bizmatch-app-prod # Neu: Unterscheide Namen
|
|
working_dir: /app
|
|
volumes:
|
|
- ~/git/bizmatch-project-prod/bizmatch-server:/app # Verwende Prod-Checkout
|
|
ports:
|
|
- "3001:3000" # Neu: Host-Port 3001, Container-Port bleibt 3000
|
|
environment:
|
|
- NODE_ENV=development # Neu: Production-Modus (für Nest.js-Config)
|
|
- DB_HOST=postgres-prod # Neu: Passe an neuen Service-Namen
|
|
- DB_PORT=5432
|
|
- DB_NAME=${POSTGRES_DB_PROD} # Neu: Separate DB-Name aus Env-File
|
|
- DB_USER=${POSTGRES_USER_PROD}
|
|
- DB_PASSWORD=${POSTGRES_PASSWORD_PROD}
|
|
env_file:
|
|
- ~/git/docker-prod/app/.env.prod # Neu: Separate Env-File für Prod
|
|
command: sh -c "npm install && npm run build && node dist/src/main.js" # Entferne --omit=dev für Prod
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- postgres-prod
|
|
networks:
|
|
- bizmatch-prod # Neu: Separates Network für Isolation
|
|
|
|
postgres-prod: # Neu: Umbenannt für Unterscheidung
|
|
container_name: bizmatchdb-prod
|
|
image: postgres:latest
|
|
restart: always
|
|
volumes:
|
|
- ${PWD}/bizmatchdb-data-prod:/var/lib/postgresql/data # Neu: Separates Daten-Volume
|
|
environment:
|
|
POSTGRES_DB: ${POSTGRES_DB_PROD}
|
|
POSTGRES_USER: ${POSTGRES_USER_PROD}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD_PROD}
|
|
ports:
|
|
- "5433:5432" # Neu: Host-Port 5433, Container-Port bleibt 5432
|
|
networks:
|
|
- bizmatch-prod
|
|
|
|
networks:
|
|
bizmatch-prod:
|
|
external: true # Neu: Erstelle es mit `docker network create bizmatch-prod` |