Migrate from Railway
Railway and Stackpad are similar in concept — both are PaaS platforms where you deploy full-stack apps with databases. This guide covers the differences and how to migrate.
What stays the same
- Git push to deploy — both platforms deploy on push
- Project + services model — same concept of projects containing multiple services
- Database services — PostgreSQL, MySQL/MariaDB, Redis as project services
- Private networking — services communicate via internal DNS
- Environment variables — set in the dashboard, injected at runtime
- Templates — pre-configured multi-service stacks
What’s different
| Feature | Railway | Stackpad |
|---|---|---|
| Infrastructure | GCP (US-based) | Hetzner (EU-based) |
| GDPR | US company | EU company, EU-only infrastructure |
| Pricing model | Usage-based (RAM/CPU per minute) | Fixed monthly plan + overages |
| Regions | US-West, US-East, EU-West | EU only (multiple locations) |
| CLI | railway CLI | Dashboard-only (for now) |
| Nixpacks | Yes (custom buildpack) | Dockerfile generation (framework-specific) |
| Volumes | Persistent volumes | Persistent volumes for databases |
| Cron jobs | Cron service type | Use templates (e.g. n8n for scheduling) |
Step-by-step migration
1. Create a project on Stackpad
- Sign up at app.stackpad.eu
- Create a new project
- Connect your GitHub repository
2. Move environment variables
In Railway, export your variables from the service settings. In Stackpad:
- Go to your project’s Environment Variables page
- Click Paste .env and paste all your variables
- Click Import
3. Add database services
If you have PostgreSQL on Railway:
- Click Add Service in your Stackpad project
- Select PostgreSQL
- Stackpad auto-generates credentials and injects
DATABASE_URL - Redeploy your web service to pick up the connection string
The DATABASE_URL format is the same standard PostgreSQL connection string. If you’re using Prisma or Drizzle, no code changes needed.
4. Migrate your data
To migrate data from Railway to Stackpad:
- Export from Railway: use
pg_dumpto create a backup of your Railway database - Enable Public access on your Stackpad PostgreSQL service
- Import: run
psqlwith the Stackpad connection string to restore the backup - Disable public access when done
5. Deploy and test
- Push to your branch — Stackpad builds and deploys automatically
- Test with the default
*.stackpad.euURL - Verify database connectivity and application behavior
6. Switch your domain
- Add your domain in Stackpad’s Domains page
- Update DNS records (CNAME for subdomains, A for root)
- Wait for HTTPS certificate provisioning
- Remove the domain from Railway
Pricing comparison
| Railway (estimate) | Stackpad | |
|---|---|---|
| Web app (256MB RAM, 0.25 CPU) | ~$5/month | Included in plan |
| PostgreSQL (256MB) | ~$5/month | Included in plan |
| Redis (128MB) | ~$3/month | Included in plan |
| Total | ~$13/month + bandwidth | €9/month (Starter) |
Stackpad’s fixed pricing makes costs predictable — no surprise bills from traffic spikes.
What’s next?
- Production checklist — verify before going live
- Troubleshooting — common issues and fixes
- Templates — browse available templates