Skip to content

Railway

One-click Deploy Example

Deploy on Railway

Deploy an example project

https://github.com/joshstevens19/rindexer/tree/master/providers/railway

  1. Clone the relevant directory
# this will clone the railway directory
mkdir rindexer-railway && cd rindexer-railway
git clone \
  --depth=1 \
  --no-checkout \
  --filter=tree:0 \
  https://github.com/joshstevens19/rindexer .
git sparse-checkout set --no-cone providers/railway .
git checkout && cp -r providers/railway/* . && rm -rf providers
  1. Initialize a new Railway project

Install Railway CLI if not already installed.

railway login
railway init --name rindexer-example
  1. Create a service and link it to the project
railway up --detach
railway link
? Select a project
> rindexer-example
? Select an environment  
> production
? Select a service
> rindexer-example
  1. Create a Postgres database
railway add --database postgres
  1. Configure environment variables
railway open
  • Open the service "Variables" tab:

    • Select "Add Variable Reference" and add a reference for DATABASE_URL and append ?sslmode=disable to the end of the value. The result should look like ${{Postgres.DATABASE_URL}}?sslmode=disable.

    • Select "Add Variable Reference" and add a reference for POSTGRES_PASSWORD.

    • Select "New Variable" with name PORT and value 3001 (This is the default value for the rindexer service, update this variable accordingly if the value is changed in the rindexer Dockerfile).

  • Hit "Deploy" or press Shift+Enter.

  1. Create a domain to access GraphQL Playground
railway domain
  1. Redeploy the service
railway up