Requirements
Check these before you install. The installer checks the same things and refuses to go ahead until they pass. On an existing installation, ./railhook doctor runs those checks again.
| Resource | Requirement |
|---|---|
| Docker | Docker Engine 20.10 or newer, with the daemon running and reachable by your user |
| Compose | Compose v2, as docker compose or the standalone docker-compose |
| Memory | About 4 GiB. Between 2 and 4 GiB the installer warns you to expect swapping; below 2 GiB it stops |
| Disk | At least 5 GiB free for the images, plus room for the database and the Kafka log |
| Tools | curl and openssl, which the installer uses to download files and generate secrets |
The stack runs two JVMs, a broker, a database and a cache. These are the default memory limits per container, and each one can be changed in .env:
| Service | Limit | Variable |
|---|---|---|
api |
768m | API_MEMORY_LIMIT |
worker |
768m | WORKER_MEMORY_LIMIT |
postgres |
1G | POSTGRES_MEMORY_LIMIT |
kafka |
1G | KAFKA_MEMORY_LIMIT |
redis |
512m | REDIS_MEMORY_LIMIT |
ui |
128m | UI_MEMORY_LIMIT |
| Port | When |
|---|---|
80 |
Without a domain. Change it with --port if something else already holds it |
80 and 443 |
With --domain. Both must be free, because the TLS terminator takes them |
8080 on 127.0.0.1 |
With --domain --behind-proxy. Your proxy keeps 80 and 443. Change it with --port |
Nothing else is published to the host.
Network
Section titled “Network”- Inbound: the one port above, from wherever your users and your webhook providers are.
- Outbound, to install and upgrade:
raw.githubusercontent.comandapi.github.comfor the release files, andghcr.iofor the images. - Outbound, to deliver: HTTP and HTTPS to your endpoints and destinations, on whatever ports they use.
Kubernetes
Section titled “Kubernetes”The Helm chart needs Kubernetes 1.24+ and Helm 3.8+, plus PostgreSQL 16+, Kafka 3.7+ and Redis 7+ that you supply. See Kubernetes.
Next steps
Section titled “Next steps”Install with DockerRun the installer.
KubernetesInstall the Helm chart.