SportBuddy/docker-compose.yml
2025-10-26 15:44:27 +01:00

72 lines
1.5 KiB
YAML

services:
postgres:
image: postgres:alpine
container_name: sportbuddy-db
environment:
POSTGRES_USER: ${POSTGRES_USER:-sportbuddy}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-sportbuddy123}
POSTGRES_DB: ${POSTGRES_DB:-sportbuddy}
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- "5432:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-sportbuddy}"]
interval: 10s
timeout: 5s
retries: 5
networks:
- sportbuddy-network
backend:
build:
context: ./apps/backend
target: development
container_name: sportbuddy-backend
env_file:
- .env
environment:
NODE_ENV: development
ports:
- "3001:3001"
depends_on:
postgres:
condition: service_healthy
volumes:
- ./apps/backend:/app
- backend_node_modules:/app/node_modules
- backend_next:/app/.next
networks:
- sportbuddy-network
frontend:
build:
context: ./apps/frontend
target: development
container_name: sportbuddy-frontend
env_file:
- .env
environment:
NODE_ENV: development
ports:
- "3000:3000"
depends_on:
- backend
volumes:
- ./apps/frontend:/app
- frontend_node_modules:/app/node_modules
- frontend_next:/app/.next
networks:
- sportbuddy-network
volumes:
postgres_data:
backend_node_modules:
backend_next:
frontend_node_modules:
frontend_next:
networks:
sportbuddy-network:
driver: bridge