Skip to content
Back to site

Self-hosting overview

Railhook is MIT-licensed. A self-hosted instance has every feature and needs no licence key. Railhook Cloud runs the same product for you.

Service Role
ui nginx. Serves the dashboard and proxies the API, ingress and tunnel paths. The only service published to the host
api Accepts events and incoming webhooks, and serves the REST API. Runs database migrations on startup
worker Claims due work from Postgres and makes the attempts: signs, sends, retries
postgres The system of record. The rows the API writes for each delivery are also the worker’s queue
redis Rate limits, concurrency permits, circuit-breaker state
caddy Optional. Terminates HTTPS when you install with a domain
db-backup Optional. Takes a scheduled database dump

Everything goes through one port: the dashboard, the API, the ingress URLs and the CLI tunnel. Postgres, Redis and the API itself are reachable only inside the Docker network, so you need one URL, one certificate and one firewall rule.

Method When to use it
Installer The default. One command on a Linux host with Docker. It generates secrets and leaves an ordinary Compose deployment
Docker Compose by hand You manage the files with your own configuration tooling
Kubernetes with Helm You already run Kubernetes and bring your own PostgreSQL and Redis
From a clone You are developing Railhook itself