gemtrack-backend/docker-compose.yml

50 lines
1.2 KiB
YAML

services:
app:
build:
context: .
dockerfile: Dockerfile
ports:
- "${PORT:-3000}:3000"
environment:
- NODE_ENV=production
- DB_HOST=db
- DB_PORT=5432
- DB_NAME=${DB_NAME:-gem_track}
- DB_USER=${DB_USER:-postgres}
- DB_PASSWORD=${DB_PASSWORD:-postgres}
- JWT_SECRET=${JWT_SECRET:-change-me-in-production}
- API_BASE_PATH=${API_BASE_PATH:-/api}
- SWAGGER_PATH=${SWAGGER_PATH:-/docs}
- TYPEORM_SYNCHRONIZE=true
- DB_INITIALIZE_ON_BOOTSTRAP=true
depends_on:
db:
condition: service_healthy
networks:
- gem-track-network
db:
image: postgres:16-alpine
environment:
- POSTGRES_DB=${DB_NAME:-gem_track}
- POSTGRES_USER=${DB_USER:-postgres}
- POSTGRES_PASSWORD=${DB_PASSWORD:-postgres}
ports:
- "5432:5432"
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${DB_USER:-postgres} -d ${DB_NAME:-gem_track}"]
interval: 10s
timeout: 5s
retries: 5
networks:
- gem-track-network
networks:
gem-track-network:
driver: bridge
volumes:
pgdata: