Files
blackcanyontickets/docker-compose.override.yml
dzinesco 14917a3e13 refactor: Remove Directus infrastructure, simplify Docker deployment
- Remove Directus CMS infrastructure (docker-compose.infrastructure.yml)
- Simplify to Astro-only deployment using existing Supabase backend
- Clean up docker-compose.override.yml to focus on local development
- Update NGINX config to proxy only to Astro app
- Remove Directus-related npm scripts and database management tools
- Streamline deployment guide for Supabase + Astro architecture

Deployment workflow:
- Local: npm run docker:dev (Astro + Supabase hosted)
- Production: npm run docker:astro:up (Astro only)

Benefits:
- Simpler architecture with proven Supabase backend
- Faster deployments (Astro only)
- Zero database downtime
- Reduced operational complexity

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12 19:23:10 -06:00

52 lines
1.6 KiB
YAML

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"
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