services: app: build: context: . dockerfile: Dockerfile args: - PUBLIC_SUPABASE_URL=${PUBLIC_SUPABASE_URL} - PUBLIC_SUPABASE_ANON_KEY=${PUBLIC_SUPABASE_ANON_KEY} ports: - "3000:3000" env_file: .env environment: - NODE_ENV=production - PORT=3000 - HOST=0.0.0.0 # SvelteKit node adapter CSRF — set to your public URL in production - ORIGIN=${ORIGIN:-http://localhost:3000} - BODY_SIZE_LIMIT=10485760 restart: unless-stopped healthcheck: test: [ "CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000/health" ] interval: 30s timeout: 3s retries: 3 start_period: 10s # Development mode with hot reload dev: build: context: . dockerfile: Dockerfile.dev ports: - "5173:5173" volumes: - .:/app - /app/node_modules env_file: .env environment: - NODE_ENV=development command: npm run dev -- --host