Most Heroku apps migrate to StackBlaze in under an hour. StackBlaze understands Procfiles, runs the same Cloud Native Buildpacks build system, and has direct equivalents for every common Heroku add-on, Postgres, Redis, and scheduled jobs included.
Unlike Heroku, StackBlaze runs on dedicated bare-metal Kubernetes. There are no dyno hour limits, no sleeping on inactivity, and no shared compute. Your app gets a fixed slice of CPU and memory that belongs to it alone.
No dyno sleeping
Always-on dedicated pods
No dyno hour caps
Unlimited runtime per month
Dedicated resources
CPU + RAM never shared with others
Migration overview
Step by step
01
Export your Heroku config vars
Run the Heroku CLI to export all environment variables as JSON, then paste them into the StackBlaze environment variables panel. StackBlaze imports them in bulk, no re-typing needed.
# Export config vars from Heroku
heroku config -a my-app --json > env.json
# Review the output
cat env.json
02
Connect your GitHub repository
StackBlaze deploys from the same GitHub repo Heroku does. Click "Add Service", choose GitHub, authorise StackBlaze, and select the repo. No changes to your repository are required.
03
Auto-detect your Procfile
StackBlaze reads your Procfile automatically. A "web:" process type becomes a Web Service (Deployment + Ingress + TLS). A "worker:" process type becomes a Background Worker (Deployment without public ingress). Additional process types like "release:" are run as Kubernetes Jobs before the new pods start.
# Procfile
web: node dist/server.js
worker: node dist/worker.js
release: node dist/migrate.js
04
Provision add-on equivalents
Create managed services directly from the StackBlaze dashboard: Heroku Postgres becomes StackBlaze PostgreSQL, Heroku Redis becomes StackBlaze Redis, and Heroku Scheduler becomes a StackBlaze Cron Job. Each service runs in your private cluster network.
05
Update DATABASE_URL and REDIS_URL
After provisioning, StackBlaze shows the connection string for each managed service. Update your DATABASE_URL and REDIS_URL environment variables to point to the new StackBlaze-provisioned services. You can also use "fromService" references in a Blueprint file to wire these automatically.
06
Test with a staging deploy, then go live
StackBlaze supports multiple environments. Deploy to a staging environment first, run your smoke tests, then promote to production. Attach your custom domain under Settings → Domains, StackBlaze provisions a TLS certificate automatically via cert-manager.
Heroku → StackBlaze equivalents
Heroku
StackBlaze
web dyno
Web Service (Deployment + Ingress)
worker dyno
Background Worker (Deployment)
one-off dyno
Job (Kubernetes Job)
Heroku Postgres
StackBlaze PostgreSQL
Heroku Redis
StackBlaze Redis
Heroku Scheduler
Cron Job
heroku config:set
Dashboard → Environment Variables
heroku ps:scale web=2
Dashboard → Scale → 2 replicas
heroku releases
Dashboard → Deployments
Under the hood
StackBlaze uses the same Cloud Native Buildpacks (CNB) build system that Heroku introduced. When you push code, the build pipeline runs your buildpack stack to produce an OCI container image, no Dockerfile required. Procfile process types map directly to Kubernetes workload types:
web: becomes a Kubernetes Deployment with an Ingress and automatic TLS. Traffic is load-balanced across all replicas.
worker: becomes a Kubernetes Deployment without any Ingress. It runs on the private cluster network and processes jobs from a queue.
release: becomes a Kubernetes Job that runs to completion before new pods are created, the same guarantee Heroku release phase provides.