Migrate from Heroku: Step-by-Step Guide
Heroku entered maintenance mode in February 2026. No new features. No new contracts. Learn how to move your apps safely, with zero downtime, and why Ship is the managed hosting option built for you.
Why Heroku Stopped Evolving
Heroku entered maintenance mode on February 6, 2026. That means:
- No new features are being added
- No new enterprise contracts are being accepted
- Existing customers continue to run, but support is slower
- Language runtimes lag behind industry updates (Node, Python, Ruby)
- Add-on partners are deprioritizing integrations
This wasn't sudden. Heroku's free tier ended in November 2022, forcing many teams to pay for the first time. But now the platform itself has stopped evolving.
You're not alone in leaving. Teams that built on Heroku's free tier have already migrated. Enterprise customers are renegotiating terms. New projects are being built on platforms actively developed.
If you're running production apps on Heroku, the question isn't 'should we move?' It's 'when do we move?' Moving now lets you plan carefully, instead of being forced to move later under pressure.
Your 5-Step Migration Path
Follow this process to move from Heroku with zero downtime. Estimated total time: 1-3 days of active work, plus 48-72 hours of prep.
Export Configuration
Capture environment variables, save your Procfile (process definitions), and document add-on dependencies. Create a checklist: what services does your app actually need?
Lower DNS TTL
Reduce your custom domain's DNS TTL to 60 seconds. This speeds up failover when you redirect to your new host. Do this 48-72 hours before cutover.
Migrate Data
Export databases with pg_dump. For large datasets (50GB+), set up logical replication to keep data in sync. Dry-run the restore on your new platform first.
Deploy & Test Side-by-Side
Recreate processes on your new platform. Update connection strings. Run full tests in staging. Keep Heroku running simultaneously so you can compare behavior.
Cut Over DNS
Put Heroku in maintenance mode, complete final data syncs, and update DNS to point to your new platform. Monitor for errors, ready to revert within 30 seconds if needed.
What You Keep
Git-based deployment: Push-to-deploy is still your model. Commit → deploy.
Environment variables: Export from Heroku config vars, import to your new host. Same names, same values.
Procfile logic: Defines your process types (web, worker, scheduler). This translates, but needs reconfiguration on your new platform.
Application code: Zero changes needed. Your code runs anywhere Docker runs.
What Changes
Buildpacks: Heroku uses buildpacks for auto-detection. Your new platform uses Dockerfile (more explicit, more portable).
Add-ons: Heroku Postgres, Redis, Mailgun, etc. are Heroku-specific. Connect equivalent third-party services instead.
Routing: Heroku's slug compiler is gone. Your new platform has its own routing layer.
Logging: Most platforms capture stdout/stderr the same way. You may integrate a logging service for better structure.
Why Ship for Heroku Users
Built by a team that understands what made Heroku great and what broke it.
Flat-Fee Pricing, No Surprises
Heroku's add-ons spiral: $50 Postgres + $30 Redis + $10 workers = $90 of add-ons alone. Ship charges one flat monthly fee. Scale apps without scaling bills.
EU Data Residency + GDPR
Your data lives in German data centers. Heroku offers EU options, but in maintenance mode, that's a depreciating asset. Ship is GDPR-first by design.
Managed from Day One
No DevOps team needed. Ship handles server updates, security patches, backups, and scaling. You push code. We keep it running.
Trust & Security
Built for teams with compliance requirements and zero patience for surprises.
GDPR Compliant
Your data stays in German data centers. EU data residency is the default, not an add-on or upgrade.
Encrypted in Transit
All data transferred during migration is encrypted. No exposure during the move.
Monitoring & Uptime
24/7 monitoring ensures your apps stay online. We alert before issues impact you.
No Vendor Lock-In
Your apps run in standard Docker containers. You own your code. You can move anytime.
Simple, Predictable Pricing
All Ship plans include GDPR-compliant German hosting, automated updates, and 24/7 monitoring. No add-on surprises.
Loading pricing...
Migration Questions
It depends on your app complexity. A simple API: 2-4 hours active work. A monolith with 3+ databases and workers: 1-2 days. Add 48-72 hours before cutover for DNS changes (passive, no work needed). If you're migrating 10 apps, budget 2-3 weeks to do them carefully, one at a time. The actual cutover, changing DNS, takes minutes.
Ready to leave Heroku? Let's Move Your Apps.
We handle the technical migration. You keep running your business.