Step by step
-
Check your project type
- Static / SPA (Vite, Astro, plain HTML): Build produces a folder of HTML/JS/CSS (dist/, build/, out/).
- Next.js / SSR framework: next.config.* or a server adapter.
- Long-running server (Express, FastAPI, bots, websockets): A start command like node server.js or uvicorn that must keep running.
-
Get the code onto GitHub
- Create a GitHub repo and push (Cursor's Source Control panel or git in the terminal).
-
Create the project on Railway
Go to railway.com/new → Deploy from GitHub repo, connect GitHub and choose the repository. Railway detects the build automatically.
-
Check the build settings
A Vite SPA is served as static files; a Node/Python server needs a start command and must listen on
$PORT.For Cursor: build command
Whatever package.json says (usually npm run build), output Depends on framework. -
Add environment variables before the first build
In Railway: Service → Variables tab (frontend
VITE_*values must be present at build time). Copy these from Cursor:-
Everything in your local .env — never commit it; add each value in the host dashboard.
Changed a value later? Rebuild. Vite bakes variables in at build time. Troubleshoot missing env vars
-
-
Make page refreshes work (Vite / React Router single-page apps)
Caddyfile (or serve -s dist) :{$PORT:3000} { root * dist encode gzip file_server try_files {path} /index.html }Server-rendered projects (TanStack Start, Next.js) don't need this. Railway docs (opens in a new tab)
-
Update login redirect URLs
Add your new Railway URL (and later your custom domain) to your auth provider's allowed URLs. Redirect troubleshooting
-
Add your domain
Service → Settings → Networking → + Custom Domain. Railway gives you a CNAME to add at your DNS provider and issues SSL automatically.
What it will cost
Limited free Free Trial: $5 one-time credit for 30 days; then Free plan with $1/month of usage. Paid from $5/mo: Hobby: $5/month including $5 of usage, 2 custom domains, 50 projects. Pro: $20/month per workspace. Checked 17 Oct 2026 on Railway's pricing page (opens in a new tab).
- The Free plan can't attach a custom domain — budget for Hobby ($5/mo) if you want your own domain.