services: app: build: context: . dockerfile: Dockerfile ports: - "3000:3000" environment: - NODE_ENV=production - PORT=3000 - HOST=0.0.0.0 # Supabase - PUBLIC_SUPABASE_URL=${PUBLIC_SUPABASE_URL} - PUBLIC_SUPABASE_ANON_KEY=${PUBLIC_SUPABASE_ANON_KEY} # Google - GOOGLE_API_KEY=${GOOGLE_API_KEY} - GOOGLE_SERVICE_ACCOUNT_KEY=${GOOGLE_SERVICE_ACCOUNT_KEY} # Matrix - MATRIX_HOMESERVER_URL=${MATRIX_HOMESERVER_URL} - MATRIX_ADMIN_TOKEN=${MATRIX_ADMIN_TOKEN} # Email (Resend) - RESEND_API_KEY=${RESEND_API_KEY} - RESEND_FROM_EMAIL=${RESEND_FROM_EMAIL} restart: unless-stopped healthcheck: test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000/health"] interval: 30s timeout: 3s retries: 3 start_period: 5s # Development mode with hot reload dev: build: context: . dockerfile: Dockerfile.dev ports: - "5173:5173" volumes: - .:/app - /app/node_modules environment: - NODE_ENV=development - PUBLIC_SUPABASE_URL=${PUBLIC_SUPABASE_URL} - PUBLIC_SUPABASE_ANON_KEY=${PUBLIC_SUPABASE_ANON_KEY} command: npm run dev -- --host