Add Docker deployment setup with health check endpoint
- Add multi-stage Dockerfile with standalone Next.js output - Add docker-compose.yml with Caddy reverse proxy - Add nginx configs for local and SSL setups - Add Caddyfile for automatic HTTPS - Add docker-entrypoint.sh for runtime config - Add .env.example and .dockerignore - Add comprehensive Docker README - Add /api/health endpoint for container health checks - Configure next.config.ts for standalone output
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
# Caddyfile for Synapsis
|
||||
# Automatic HTTPS via Let's Encrypt
|
||||
|
||||
{$DOMAIN} {
|
||||
# Reverse proxy to Synapsis app
|
||||
reverse_proxy app:3000
|
||||
|
||||
# Enable compression
|
||||
encode gzip
|
||||
|
||||
# Security headers
|
||||
header {
|
||||
# Enable HSTS
|
||||
Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
|
||||
# Prevent clickjacking
|
||||
X-Frame-Options "SAMEORIGIN"
|
||||
# Prevent MIME type sniffing
|
||||
X-Content-Type-Options "nosniff"
|
||||
# XSS protection
|
||||
X-XSS-Protection "1; mode=block"
|
||||
# Referrer policy
|
||||
Referrer-Policy "strict-origin-when-cross-origin"
|
||||
}
|
||||
|
||||
# Logging
|
||||
log {
|
||||
output file /data/access.log
|
||||
format json
|
||||
}
|
||||
|
||||
# Increase max body size for uploads (20MB)
|
||||
request_body {
|
||||
max_size 20MB
|
||||
}
|
||||
}
|
||||
|
||||
# Health check endpoint for Docker
|
||||
:8080 {
|
||||
respond /health "healthy" 200
|
||||
}
|
||||
Reference in New Issue
Block a user