- Node.js/Express backend with SQLite database - Interactive map with real-time location tracking - MapBox API integration for fast geocoding - Admin panel for content moderation - 24-hour auto-expiring reports - Deployment scripts for Debian 12 ARM64 - Caddy reverse proxy with automatic HTTPS
38 lines
916 B
Caddyfile
38 lines
916 B
Caddyfile
# ICE Watch Caddy Configuration
|
|
# Replace yourdomain.com with your actual domain
|
|
|
|
yourdomain.com {
|
|
# Reverse proxy to Node.js app
|
|
reverse_proxy localhost:3000
|
|
|
|
# Security headers
|
|
header {
|
|
# Enable HSTS
|
|
Strict-Transport-Security max-age=31536000;
|
|
# Prevent clickjacking
|
|
X-Frame-Options DENY
|
|
# Prevent content type sniffing
|
|
X-Content-Type-Options nosniff
|
|
# XSS protection
|
|
X-XSS-Protection "1; mode=block"
|
|
# Referrer policy
|
|
Referrer-Policy strict-origin-when-cross-origin
|
|
}
|
|
|
|
# Gzip compression
|
|
encode gzip
|
|
|
|
# Rate limiting (optional)
|
|
# rate_limit {
|
|
# zone static_ip_10rs {
|
|
# key {remote_host}
|
|
# events 10
|
|
# window 1s
|
|
# }
|
|
# }
|
|
}
|
|
|
|
# Optional: Redirect www to non-www
|
|
www.yourdomain.com {
|
|
redir https://yourdomain.com{uri} permanent
|
|
}
|