Skip to main content
Platforms

Railway

Run a single control plane instance on Railway with a persistent volume.

Railway runs one control plane instance with a Railway volume as its disk. Use it to try Rivet on a managed platform. For production, run three or more instances on Kubernetes or VMs.

Requirements

Steps

Create the service

Create a service from the Docker image rivetdev/engine:2.3.31 and set its start command to --config /etc/rivet.

Attach a volume

Attach a volume mounted at /var/lib/rivet/log. Keep the service at one replica: a volume belongs to one instance.

Set the variables

RIVET__AUTH__ADMIN_TOKEN=<openssl rand -hex 32>
RIVET__DEPOT__LOG_DIRECTORY=/var/lib/rivet/log
RIVET__DEPOT__AUTO_PROVISION_TABLETS=1
RIVET__DEPOT__BALANCING__ENABLED=false
RIVET__OBJECT_STORAGE__PRIMARY__S3__BUCKET=my-rivet-bucket
RIVET__OBJECT_STORAGE__PRIMARY__S3__REGION=us-east-1
RIVET__OBJECT_STORAGE__PRIMARY__S3__ACCESS_KEY_ID=...
RIVET__OBJECT_STORAGE__PRIMARY__S3__SECRET_ACCESS_KEY=...

See Storage for other object storage backends.

Expose port 6420 and verify

Generate a public domain for port 6420, then:

curl https://<your-domain>/health
{"runtime":"engine","status":"ok","version":"2.3.31",...}

Next steps