Deploy ScyllaDB

A high-performance NoSQL database system

Deploy ScyllaDB

ScyllaDB

null2264/scylladb-railway:5.1.4-v2

Just deployed

/var/lib/scylla

Deploy and Host ScyllaDB on Railway

ScyllaDB is a high-performance NoSQL database system, fully compatible with Apache Cassandra.

About Hosting ScyllaDB

ScyllaDB lets you deploy ScyllaDB on Railway and use it out-of-the-box.

License

Versions

This template uses v5.1.4 by default due to IPv6 support being broken on newer version of ScyllaDB, but there are other versions that you can use: https://github.com/users/null2264/packages/container/package/scylladb-railway. (This will be changing soon once Railway rolled out IPv4 Private Network for everyone)

Please keep in mind that versions with the format YYYY.MAJOR.MINOR are no longer free and open-source software! (The last open source version of ScyllaDB is v6.2)

Common Use Cases

  • Dealing with high traffic that quite frequently read/write to the DB.
  • When using it via Railway's private network is a must otherwise it's recommended to use ScyllaDB template instead.

Dependencies for ScyllaDB Hosting

  • IPv6 only (will be changing soon once Railway rolled out IPv4 Private Network for everyone)

Deployment Dependencies

Implementation Details

Quick Start Guide

  • Add a project as new service
  • Edit a service's configuration to point to scylla's private domain (or scylla's railway public domain). You can find these value from these special variables (Can be found on ScyllaDB service -> Variables tab):
    • $SCYLLA_HOST
    • $SCYLLA_PORT
    • $SCYLLA_PRIVATE_HOST
    • $SCYLLA_PRIVATE_PORT
  • Your service(s) should now be connected to the ScyllaDB

Known Issues

  • If your service(s) can't connect to scylla using its private network domain, try shorten the domain. For example my ScyllaDB service use scylladb.railway.internal private domain, instead of using the full scylladb.railway.internal you remove the .railway.internal suffix so it just says scylladb.
  • Support for IPv6 on newer than v5.1.4 is broken (REF: https://github.com/scylladb/scylladb/issues/14738).
  • Upgrading from v5.1.4 to latest stable version is not that straight forward, so you may need to backup your data before attempting to upgrade.

Environment Variables

  • MEM: Memory limit, default: 2G
  • SMP: Restricts ScyllaDB to N logical cores, default: 2
  • LISTEN_ADDR: ScyllaDB's listen address, default: :: (You can set this to 0.0.0.0 for IPv4 support)
  • API_ADDR: ScyllaDB's Rest API address, default: :: (You can set this to 0.0.0.0 for IPv4 support)
  • SEEDS: ScyllaDB's seed list, seperated by commas, default: ::
  • AUTH_SUPERUSER_NAME: Username for ScyllaDB's superuser, default: cassandra
  • AUTH_SUPERUSER_SHA512_PASSWORD: Password for ScyllaDB's superuser, default: cassandra (Use mkpasswd --method=sha512crypt [password] or openssl passwd -6 [password] to generate the value!)

Special Environment Variables

  • SCYLLA_HOST: You can use this variable's value to connect your software to ScyllaDB. You can also use it to connect to ScyllaDB from you favorite DB (Cassandra-compatible) client
  • SCYLLA_PORT: You can use this variable's value to connect your software to ScyllaDB. You can also use it to connect to ScyllaDB from you favorite DB (Cassandra-compatible) client
  • SCYLLA_PRIVATE_HOST: You can use this variable's value to connect your software to ScyllaDB (Through Railway's Private Network)
  • SCYLLA_PRIVATE_PORT: You can use this variable's value to connect your software to ScyllaDB (Through Railway's Private Network)

Why Deploy ScyllaDB 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 ScyllaDB 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
Postgres-to-R2 Backup
Auto back up PostgreSQL databases to Cloudflare R2 with optional encryption

View Template
ReadySet
A lightweight caching engine for Postgres

View Template
Simple S3
Deploy a S3-compatible storage service with a pre-named bucket.