Skip to content

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

FeatureRailwayStackpad
InfrastructureGCP (US-based)Hetzner (EU-based)
GDPRUS companyEU company, EU-only infrastructure
Pricing modelUsage-based (RAM/CPU per minute)Fixed monthly plan + overages
RegionsUS-West, US-East, EU-WestEU only (multiple locations)
CLIrailway CLIDashboard-only (for now)
NixpacksYes (custom buildpack)Dockerfile generation (framework-specific)
VolumesPersistent volumesPersistent volumes for databases
Cron jobsCron service typeUse templates (e.g. n8n for scheduling)

Step-by-step migration

1. Create a project on Stackpad

  1. Sign up at app.stackpad.eu
  2. Create a new project
  3. Connect your GitHub repository

2. Move environment variables

In Railway, export your variables from the service settings. In Stackpad:

  1. Go to your project’s Environment Variables page
  2. Click Paste .env and paste all your variables
  3. Click Import

3. Add database services

If you have PostgreSQL on Railway:

  1. Click Add Service in your Stackpad project
  2. Select PostgreSQL
  3. Stackpad auto-generates credentials and injects DATABASE_URL
  4. 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:

  1. Export from Railway: use pg_dump to create a backup of your Railway database
  2. Enable Public access on your Stackpad PostgreSQL service
  3. Import: run psql with the Stackpad connection string to restore the backup
  4. Disable public access when done

5. Deploy and test

  1. Push to your branch — Stackpad builds and deploys automatically
  2. Test with the default *.stackpad.eu URL
  3. Verify database connectivity and application behavior

6. Switch your domain

  1. Add your domain in Stackpad’s Domains page
  2. Update DNS records (CNAME for subdomains, A for root)
  3. Wait for HTTPS certificate provisioning
  4. Remove the domain from Railway

Pricing comparison

Railway (estimate)Stackpad
Web app (256MB RAM, 0.25 CPU)~$5/monthIncluded in plan
PostgreSQL (256MB)~$5/monthIncluded in plan
Redis (128MB)~$3/monthIncluded 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?