Files
motovaultpro/docker-compose.yml
Eric Gullickson 698db0ed4c Working React 19 before Compiler integration
🚀 Phase 2 Complete - React 19 Foundation
- React upgraded: 18.2.0 → 19.0.0 
- MUI upgraded: 5 → 6 
- React Router upgraded: 6 → 7 
- All packages updated and working 
- Production build: 995KB bundle 
- All containers working 

Ready for Phase 3: React Compiler integration

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-23 16:46:31 -05:00

119 lines
3.3 KiB
YAML

services:
postgres:
image: postgres:15-alpine
container_name: mvp-postgres
environment:
POSTGRES_DB: motovaultpro
POSTGRES_USER: postgres
POSTGRES_PASSWORD: localdev123
POSTGRES_INITDB_ARGS: "--encoding=UTF8"
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- "5432:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
container_name: mvp-redis
command: redis-server --appendonly yes
volumes:
- redis_data:/data
ports:
- "6379:6379"
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
minio:
image: minio/minio:latest
container_name: mvp-minio
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: minioadmin
MINIO_ROOT_PASSWORD: minioadmin123
volumes:
- minio_data:/data
ports:
- "9000:9000" # API
- "9001:9001" # Console
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
backend:
build:
context: ./backend
dockerfile: Dockerfile.dev
container_name: mvp-backend
environment:
NODE_ENV: development
PORT: 3001
DB_HOST: postgres
DB_PORT: 5432
DB_NAME: motovaultpro
DB_USER: postgres
DB_PASSWORD: localdev123
REDIS_HOST: redis
REDIS_PORT: 6379
MINIO_ENDPOINT: minio
MINIO_PORT: 9000
MINIO_ACCESS_KEY: minioadmin
MINIO_SECRET_KEY: minioadmin123
MINIO_BUCKET: motovaultpro
AUTH0_DOMAIN: ${AUTH0_DOMAIN:-your-domain.auth0.com}
AUTH0_CLIENT_ID: ${AUTH0_CLIENT_ID:-your-client-id}
AUTH0_CLIENT_SECRET: ${AUTH0_CLIENT_SECRET:-your-client-secret}
AUTH0_AUDIENCE: ${AUTH0_AUDIENCE:-https://api.motovaultpro.com}
GOOGLE_MAPS_API_KEY: ${GOOGLE_MAPS_API_KEY:-your-google-maps-key}
VPIC_API_URL: https://vpic.nhtsa.dot.gov/api/vehicles
ports:
- "3001:3001"
depends_on:
- postgres
- redis
- minio
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:3001/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
container_name: mvp-frontend
environment:
NODE_ENV: development
VITE_API_BASE_URL: http://backend:3001/api
VITE_AUTH0_DOMAIN: ${VITE_AUTH0_DOMAIN:-motovaultpro.us.auth0.com}
VITE_AUTH0_CLIENT_ID: ${VITE_AUTH0_CLIENT_ID:-yspR8zdnSxmV8wFIghHynQ08iXAPoQJ3}
VITE_AUTH0_AUDIENCE: ${VITE_AUTH0_AUDIENCE:-https://api.motovaultpro.com}
ports:
- "0.0.0.0:3000:3000" # HTTP (redirects to HTTPS)
- "0.0.0.0:443:3443" # HTTPS
volumes:
- ./certs:/etc/nginx/certs:ro # Mount SSL certificates
depends_on:
- backend
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "--no-check-certificate", "https://localhost:3443"]
interval: 30s
timeout: 10s
retries: 3
start_period: 20s
volumes:
postgres_data:
redis_data:
minio_data: