feat: implement runtime configuration with API proxy pattern
Replace build-time NEXT_PUBLIC_* environment variables with server-side runtime configuration. This allows changing the Pastel API URL without rebuilding the Docker image. **Changes:** - Add Next.js API proxy route at /api/pastel/[...path] for server-side proxying - Update API client to use proxy endpoint instead of direct API URL - Replace NEXT_PUBLIC_API_URL with server-side PASTEL_API_URL - Remove build arguments from Dockerfile (no longer needed) - Simplify docker-compose.yml to use runtime environment variables only - Update all .env files to reflect new configuration approach - Add comprehensive DOCKER.md documentation **Benefits:** - No rebuild required to change API URL - Same image works across all environments (dev/staging/prod) - Better security (API URL not exposed in client bundle) - Simpler deployment and configuration management **Migration:** Old: NEXT_PUBLIC_API_URL (build-time, embedded in bundle) New: PASTEL_API_URL (runtime, read by server proxy) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
16
.env.example
16
.env.example
@@ -1,8 +1,12 @@
|
||||
# Pastel API Configuration
|
||||
# URL of the Pastel API instance
|
||||
# For Docker Compose: use http://pastel-api:3001
|
||||
# For local development: use http://localhost:3001
|
||||
NEXT_PUBLIC_API_URL=http://localhost:3001
|
||||
# Server-side environment variable (runtime configuration)
|
||||
# No rebuild needed to change this!
|
||||
|
||||
# Application URL (used for sharing and OG images)
|
||||
NEXT_PUBLIC_APP_URL=http://localhost:3000
|
||||
# For Docker Compose: use container name
|
||||
PASTEL_API_URL=http://pastel-api:3001
|
||||
|
||||
# For local development: use localhost
|
||||
# PASTEL_API_URL=http://localhost:3001
|
||||
|
||||
# For external API: use full URL
|
||||
# PASTEL_API_URL=https://api.example.com
|
||||
|
||||
Reference in New Issue
Block a user