Migrate from Heroku¶
Quick reference for Heroku users moving to PaaS Runtime. For a full step-by-step walkthrough with data migration, environment variables, and review apps, see the Cookbook recipe.
Command equivalents¶
| Heroku | PaaS Runtime |
|---|---|
heroku login |
paas login |
heroku create my-app |
paas apps create my-app |
git push heroku main |
git push paas main |
heroku config:set KEY=val |
paas config:set KEY=val |
heroku config |
paas config |
heroku ps:scale web=2 |
paas ps:scale web=2 |
heroku logs --tail |
paas logs --tail |
heroku run bash |
paas run -- bash |
heroku addons:create heroku-postgresql:standard-0 |
paas addons:create database --type postgres --plan standard |
heroku addons:create heroku-redis:premium-0 |
paas addons:create cache --type valkey --plan starter |
heroku domains:add www.example.com |
paas domains:add www.example.com |
heroku releases |
paas releases |
heroku rollback v42 |
paas releases:rollback v42 |
heroku ps:exec |
paas shell |
Procfile compatibility¶
PaaS reads your existing Procfile unchanged. The same process types (web, worker, release) work identically — $PORT is injected by the platform.
Buildpack compatibility¶
PaaS uses Paketo Cloud Native Buildpacks — the OCI-compliant successor to Heroku Buildpacks. Language detection is identical (package.json, Gemfile, requirements.txt, go.mod, pom.xml, composer.json, mix.exs).
Heroku-specific buildpack env vars map cleanly:
| Heroku | PaaS (Paketo) |
|---|---|
NODE_VERSION |
BP_NODE_VERSION |
PYTHON_VERSION |
BP_PYTHON_VERSION |
RUBY_VERSION |
BP_RUBY_VERSION |
GO_VERSION |
BP_GO_VERSION |
Quick migration (5 minutes)¶
paas login # 1. Authenticate
paas apps create my-app # 2. Create the app
paas addons:create database --type postgres --plan standard --name db # 3. DB
heroku config -s --app my-heroku-app | paas config:import - # 4. Env
git push paas main # 5. Deploy
Migrate database via pg_dump → paas addons:psql (cf cookbook for details).
Caveats¶
- Regions: Heroku
us/eu→ PaaSfr-par-1,de-fra-1, etc. Set in[app] region = "...". - Heroku Connect (Salesforce sync): no PaaS equivalent — use Salesforce REST API directly.
- Free tier limits differ slightly: PaaS free tier sleeps after 30 min, 512Mi RAM, 0.1 CPU shared.
See also¶
- Full migration cookbook — step-by-step with data migration
- paas.toml reference
- Concepts → Apps