Hosted in Germany • GDPR-ready

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.

Test it free — no credit card required
Why Move Now

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.

Technical Guide

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.

deploy
Day 0 · 30 min

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?

server
Day 0 · 5 min + 48-72h wait

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.

apps
Day 1 · 1-4 hours

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
Day 1-2 · 4-8 hours

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.

rocket
Day 2 · 30 min

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.

Monthly
Annual

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.