Volumes

Volumes is a feature that allows you to store persistent data for services on Railway.

Volume

Creating A Volume

You can create a new volume through the Command Palette (⌘K) or by right-clicking the project canvas to bring up a menu:

Creating a volume via command palette

via command palette

Creating a volume via context menu

via right-click menu

When creating a volume, you will be prompted to select a service to connect the volume to:

Connect volume to service

You must configure the mount path of the volume in your service:

Connect volume to service

Using the Volume

The volume mount point you specify will be available in your service as a directory you can read/write to. For instance, if you mount a volume to /foobar, your application will be able to access it at /foobar.

Attaching a Volume to a service will make these environment variables available to the service:

  • RAILWAY_VOLUME_NAME: Name of the volume (e.g. foobar)
  • RAILWAY_VOLUME_MOUNT_PATH: Mount path of the volume (e.g. /foobar)

Limits

Volumes have a max size based on the type of plan you are on. This may change after the priority boarding period:

  • Trial and Hobby plans: 5GB
  • Pro and team plans: 50GB

Please reach out if you need more space.

Pricing

You are only charged for the amount of storage used by your volumes. Each volume requires a small amount of space to store metadata about the filesystem, so a new volume will start with a small amount of space used.

Volumes are billed at $0.25 / GB, billed monthly.

Pricing is subject to change during the priority boarding period.

Caveats

Volumes is a newer feature that is still under development. Here are some limitations we are currently aware of:

  • Each service can only have a single volume
  • Replicas cannot be used with volumes
  • There is no built-in S/FTP support
  • To prevent data corruption, we prevent multiple deployments from being active and mounted to the same service. This means that there will be a small amount of downtime when re-deploying a service that has a volume attached
  • Down-sizing a volume is not currently supported, but increasing size is supported
  • When resizing a volume, all deployments must be taken offline to prevent data corruption
  • There is no file browser, or direct file download. To access your files, you must do so via the attached service's mount point

Edit this file on GitHub