Railway

Deploy scylla-db

Cassandra-compatible ScyllaDB for Railway with volume and private CQL.

Deploy scylla-db

/var/lib/scylla

Deploy and Host scylla-db on Railway

scylla-db is a Railway template that runs ScyllaDB — a high-performance, Cassandra-compatible NoSQL database built for low-latency reads and writes at scale. It speaks the CQL protocol, so existing Cassandra drivers and tooling work out of the box. This template deploys a single-node ScyllaDB 5.1.4 instance tuned for Railway's container and private networking environment.

About Hosting scylla-db

Hosting ScyllaDB on Railway means running a pre-built Docker image with container-friendly defaults: CPU and memory limits (SMP, MEM), overprovisioned mode, IPv6 private networking, and authenticated CQL access. The template attaches a persistent volume at /var/lib/scylla so data survives redeploys. Your application services connect over Railway's private network on port 9042; external access requires enabling TCP Proxy (CQL is TCP, not HTTP). After deploy, link the ScyllaDB service to your app to receive connection reference variables (SCYLLA_PRIVATE_HOST, SCYLLA_USER, etc.). Change the default superuser password before production.

Common Use Cases

  • Backend data store — High-throughput CQL storage for web APIs, microservices, and event-driven apps deployed alongside ScyllaDB on Railway
  • Cassandra migration / compatibility — Run workloads that already use the Cassandra driver ecosystem without managing bare-metal or VM clusters
  • Real-time and IoT workloads — Low-latency writes and time-series style data patterns where ScyllaDB's performance profile fits your stack

Dependencies for scylla-db Hosting

  • Persistent volume — Required at /var/lib/scylla for durable storage (included in the template)
  • Cassandra-compatible client — Your app needs a CQL driver (e.g. cassandra-driver for Python, cassandra-driver for Node.js) to connect on port 9042

Deployment Dependencies

Implementation Details

Connect from another Railway service using the injected reference variables:

SettingPrivate network
Host$SCYLLA_PRIVATE_HOST
Port9042
User$SCYLLA_USER
Password$SCYLLA_PASSWORD

Python example:

from cassandra.cluster import Cluster
from cassandra.auth import PlainTextAuthProvider
import os

auth = PlainTextAuthProvider(
    username=os.environ["SCYLLA_USER"],
    password=os.environ["SCYLLA_PASSWORD"],
)
cluster = Cluster(
    contact_points=[os.environ["SCYLLA_PRIVATE_HOST"]],
    port=9042,
    auth_provider=auth,
)
session = cluster.connect()
print(session.execute("SELECT release_version FROM system.local").one())

Health check (Railway HTTP probe — set PORT=10000 on the service):

/storage_service/native_transport

Change the default password — generate a SHA-512 hash and set AUTH_SUPERUSER_SHA512_PASSWORD:

python3 -c "import crypt; print(crypt.crypt('YOUR_PASSWORD', crypt.METHOD_SHA512))"

Why Deploy scylla-db on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying scylla-db on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


Template Content

More templates in this category

View Template
Rocky Linux
[Jun'26] Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta