docker compose
This commit is contained in:
parent
fbca2ddab5
commit
3b51a98dec
|
|
@ -0,0 +1,49 @@
|
|||
# ~/git/bizmatch-project/bizmatch-server/docker-compose.yml
|
||||
services:
|
||||
app:
|
||||
image: node:22-alpine
|
||||
container_name: bizmatch-app-prod
|
||||
working_dir: /app
|
||||
volumes:
|
||||
- ./:/app # Code liegt hier direkt im Ordner der Compose
|
||||
ports:
|
||||
- "3001:3000" # Host 3001 -> Container 3000
|
||||
env_file:
|
||||
- path: ./env.prod
|
||||
required: true
|
||||
environment:
|
||||
- NODE_ENV=production # Prod-Modus (vorher stand fälschlich "development")
|
||||
- DB_HOST=postgres-prod
|
||||
- DB_PORT=5432
|
||||
- DB_NAME=${POSTGRES_DB}
|
||||
- DB_USER=${POSTGRES_USER}
|
||||
- DB_PASSWORD=${POSTGRES_PASSWORD}
|
||||
# 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-prod
|
||||
networks:
|
||||
- bizmatch-prod
|
||||
|
||||
postgres-prod:
|
||||
container_name: bizmatchdb-prod
|
||||
image: postgres:17-alpine # Version pinnen ist stabiler als "latest"
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./bizmatchdb-data-prod:/var/lib/postgresql/data # Daten liegen im Server-Repo
|
||||
env_file:
|
||||
- path: ./env.prod
|
||||
required: true
|
||||
environment:
|
||||
POSTGRES_DB: ${POSTGRES_DB}
|
||||
POSTGRES_USER: ${POSTGRES_USER}
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||
ports:
|
||||
- "5433:5432" # Host 5433 -> Container 5432
|
||||
networks:
|
||||
- bizmatch-prod
|
||||
|
||||
networks:
|
||||
bizmatch-prod:
|
||||
external: true # einmalig anlegen: docker network create bizmatch-prod
|
||||
Loading…
Reference in New Issue