Getting Started
Terror Server runs as a single Go binary and is usually installed as a systemd-managed service. The normal production flow is:
- Install the latest stable release.
- Edit
/etc/terror/Runtime. - Validate the config.
- Let the systemd watcher restart
terror.service. - Check route health with
terror status.
Install
bash
curl -fsSL https://raw.githubusercontent.com/devlopersabbir/terrorserver/main/scripts/install.sh | sudo bashThen check the service:
bash
terror statusTIP
The installer enables terror.path, a systemd path watcher. Saving /etc/terror/Runtime automatically triggers a service restart so new domains, removed routes, ports, and TLS listeners are picked up.
Your First Runtime
Open the Runtime file:
bash
sudo vim /etc/terror/RuntimeStart with a default static site and one proxied app:
txt
:80 {
root /var/www/terrorserver
file_server
}
app.example.com {
proxy localhost:4000
}Validate before saving a production change:
bash
terror validateAfter saving, confirm the route:
bash
terror statusMental Model
Each Runtime block has an address and exactly one handler.
| Address type | Example | What it matches |
|---|---|---|
| Domain | app.example.com | Requests with that hostname |
| Port | :9090 | Any request received on that listener |
Each block chooses either proxy or file_server.
txt
api.example.com {
proxy localhost:3000
}
docs.example.com {
root /var/www/docs
file_server
}Next Steps
- Use Runtime File for all syntax rules.
- Use Reverse Proxy to publish local apps.
- Use Static Sites for frontend builds and simple websites.
- Use HTTPS and Domains before turning on forced redirects.