A fast, lightweight Go gateway and reverse proxy. Route domains, serve SPAs, and automate Let's Encrypt TLS in one human-readable Runtime file.
Everything you need from a modern reverse proxy without the enterprise bloat.
Declare domain reverse proxies, port listeners, and static folders in one intuitive Runtime file. Replace complex multi-file configurations with 3 clean lines.
api.example.com {
proxy localhost:3000
}Secure by default. Automatically provisions, verifies, and renews ACME TLS/SSL certificates on port 443 for all your domain routes without Certbot.
:443 HTTPS & HTTP/2
Auto-renew 30 days before expiryEdit /etc/terror/Runtime in vim or nano and save. The integrated systemd terror.path immediately applies routing and listener changes with zero downtime.
sudo vim /etc/terror/Runtime
# Saved -> terror.service auto reloadsRun `terror status` to instantly diagnose DNS resolution, port listeners, TLS certificate validity, static root paths, and upstream backend responsiveness.
terror status
-> ok DNS, Port, SSL, UpstreamNo Node.js, Python, or OpenSSL runtime dependencies. Under 15MB binary with minimal memory footprint (<20MB RAM) for ultra-fast TTFB response times.
Linux amd64 & arm64
Pure Go compiled binaryHigh-speed static asset delivery with built-in client-side routing fallback for React, Vue, Svelte, and Vite apps. Never see 404 on browser reload again.
app.example.com {
root /var/www/dist
file_server
}Select your workload and preview the production-ready Runtime configuration block.
# Automatic Let's Encrypt TLS on port 443
api.myapp.com {
proxy localhost:3000
}Side-by-side comparison against traditional server architectures.
| Feature / Capability | Terror Server | Nginx | Caddy |
|---|---|---|---|
| Configuration Syntax | 3-line clean block | 50+ lines of nginx.conf | Caddyfile syntax |
| Automatic Let's Encrypt TLS | Zero-config built-in | Certbot & cron needed | Built-in |
| Auto-Reload on Save | systemd .path watcher | Manual nginx -s reload | Manual API reload |
| Built-in Diagnostics | terror status (DNS + TLS) | No built-in tool | Limited CLI |
| SPA Route Fallback | 1 directive (file_server) | Complex try_files | try_files directive |
| RAM Footprint | < 20 MB RAM | ~15 MB | ~40 MB |
Deploy globally on any Linux server, VPS, or Docker container with a single command.