46 lines
1.3 KiB
YAML
46 lines
1.3 KiB
YAML
# ~/git/bizmatch-project/bizmatch-server/docker-compose.yml
|
|
services:
|
|
app:
|
|
image: node:22-alpine
|
|
container_name: bizmatch-app
|
|
working_dir: /app
|
|
volumes:
|
|
- ./:/app # Code liegt hier direkt im Ordner der Compose
|
|
ports:
|
|
- '3001:3000' # Host 3001 -> Container 3000
|
|
env_file:
|
|
- path: ./.env
|
|
required: true
|
|
environment:
|
|
- NODE_ENV=development # Prod-Modus (vorher stand fälschlich "development")
|
|
- DATABASE_URL
|
|
# Hinweis: npm ci nutzt package-lock.json; falls nicht vorhanden, nimm "npm install"
|
|
command: sh -c "npm ci && npm run build && node dist/src/main.js"
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- postgres
|
|
networks:
|
|
- bizmatch
|
|
|
|
postgres:
|
|
container_name: bizmatchdb
|
|
image: postgres:17-alpine # Version pinnen ist stabiler als "latest"
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ${PWD}/bizmatchdb-data:/var/lib/postgresql/data # Daten liegen im Server-Repo
|
|
env_file:
|
|
- path: ./.env
|
|
required: true
|
|
environment:
|
|
POSTGRES_DB: ${POSTGRES_DB}
|
|
POSTGRES_USER: ${POSTGRES_USER}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
|
ports:
|
|
- '5433:5432' # Host 5433 -> Container 5432
|
|
networks:
|
|
- bizmatch
|
|
|
|
networks:
|
|
bizmatch:
|
|
external: true # einmalig anlegen: docker network create bizmatch-prod
|