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
- A Railway account
- An object storage bucket, such as S3.
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",...}