version: '3.8' # Override file for local development # This file is automatically loaded by docker-compose up # Simplified development setup with just the Astro app services: # Astro app for local development bct-app: build: context: . dockerfile: Dockerfile target: production container_name: bct-astro-dev ports: - "3000:3000" labels: - "com.blackcanyon.role=astro-app" - "com.blackcanyon.env=development" - "maintainer=tyler@crispygoat.com" env_file: - .env environment: - NODE_ENV=development - HOST=0.0.0.0 - PORT=3000 # Supabase (your existing hosted database) - PUBLIC_SUPABASE_URL=${PUBLIC_SUPABASE_URL} - PUBLIC_SUPABASE_ANON_KEY=${PUBLIC_SUPABASE_ANON_KEY} - SUPABASE_SERVICE_ROLE_KEY=${SUPABASE_SERVICE_ROLE_KEY} # Stripe - STRIPE_PUBLISHABLE_KEY=${STRIPE_PUBLISHABLE_KEY} - STRIPE_SECRET_KEY=${STRIPE_SECRET_KEY} - STRIPE_WEBHOOK_SECRET=${STRIPE_WEBHOOK_SECRET} # Email - RESEND_API_KEY=${RESEND_API_KEY} # Monitoring - SENTRY_DSN=${SENTRY_DSN} - SENTRY_RELEASE=development volumes: - ./logs:/app/logs restart: unless-stopped healthcheck: test: ["CMD", "node", "-e", "const http=require('http');const options={hostname:'localhost',port:3000,path:'/api/health',timeout:2000};const req=http.request(options,(res)=>{process.exit(res.statusCode===200?0:1)});req.on('error',()=>{process.exit(1)});req.end();"] interval: 30s timeout: 5s retries: 5 start_period: 40s networks: - bct-network networks: bct-network: driver: bridge