Deploy Saleor

Saleor 3.23: headless GraphQL commerce API with the admin dashboard.

Deploy Saleor

Just deployed

Just deployed

/data

/var/lib/postgresql/data

Just deployed

/app/media

Deploy and Host Saleor on Railway

Saleor is a headless, GraphQL-first commerce platform written in Python. It handles products, variants, multiple channels, currencies and warehouses, checkout, orders, promotions, gift cards and payments through apps and webhooks, and comes with a React admin dashboard. It is a composable alternative to Shopify Plus and Medusa.

About Hosting Saleor

This template runs the official ghcr.io/saleor/saleor:3.23.36 API and saleor-dashboard:3.23.34 with Railway Postgres and Redis. The API service also runs the Celery worker and scheduler, because Saleor signs tokens and webhooks with an RSA key that both must share; the key is generated on first boot and kept on the API's volume with media uploads. Migrations run on every start, and a staff admin is created from DJANGO_SUPERUSER_EMAIL and a generated password. CORS allows the dashboard's domain. The stack needs roughly 1 GB of RAM. Connect a storefront, such as Saleor's Next.js starter, to the GraphQL endpoint.

Common Use Cases

  • A headless commerce backend for a custom storefront
  • Multi-channel, multi-currency catalogs and orders
  • Extending commerce with apps and webhooks

Dependencies for Saleor Hosting

  • ghcr.io/saleor/saleor:3.23.36 and ghcr.io/saleor/saleor-dashboard:3.23.34 (official images)
  • Railway Postgres and Redis
  • A Railway volume at /app/media on the API

Deployment Dependencies

Implementation Details

ServiceSourceNetworkingStorage
apighcr.io/saleor/saleor:3.23.36 (uvicorn + Celery)public domain on 8000volume at /app/media
dashboardghcr.io/saleor/saleor-dashboard:3.23.34public domain on 80none
PostgresRailway PostgresprivateRailway volume
RedisRailway RedisprivateRailway volume

Open https:///dashboard/ and sign in with the admin email and password. The GraphQL endpoint is https:///graphql/.

Variable (api)DefaultPurpose
DJANGO_SUPERUSER_EMAILadmin@example.comStaff admin created on first boot
DJANGO_SUPERUSER_PASSWORDgeneratedIts password
SECRET_KEYgeneratedDjango secret
ALLOWED_CLIENT_HOSTSdashboard domainCORS origins
SALEOR_BOOTstart scriptKey generation, migrations, admin, worker and server

Notes:

  • The RSA key lives at /app/media/.rsa_private_key.pem; keep the volume, or existing tokens and webhook signatures stop verifying.
  • Configure EMAIL_URL for order and account emails.

This is a community-maintained deployment package and does not imply affiliation with or endorsement by Saleor Commerce.

Why Deploy Saleor 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 Saleor 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
Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

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

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

Letta
51