The Basics

This document outlines the core concepts of Railway, providing foundational knowledge of the basic building blocks you'll work with in the platform.


A project represents a capsule for composing infrastructure in Railway. You can think of a project as an application stack, a service group, or even a collection of service groups.

Services within a project are automatically joined to a private network scoped to that project. That's right.


A Railway service is a deployment target for your deployment source. Deployment sources can be code repositories or Docker Images. Once you create a service and choose a source, Railway will analyze the source, build a Docker image (if the source is a code repository), and deploy it to the service.

Out of the box, your service is deployed with a set of default configurations which can be overridden as needed.


Variables provide a powerful way to manage configuration and secrets across services in Railway.

You can configure variables scoped to services or to projects to be shared amongst all services in a project.

What Next?

If you've read enough for now and are ready to get started, we suggest checking out either of these two resources next:

If you want to go deeper, click the Next button below to head to the next section - Advanced Concepts.

Edit this file on GitHub