# ~/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