Deployment.sh

Heroku alternative that keeps git push and gives you the servers

Heroku made git push deploys famous, and for many teams it was the right first home. As apps grow, the bill grows with every dyno, add-on and environment, because a managed PaaS charges per app and per unit of usage on top of the raw compute. Deployment keeps the push-to-deploy workflow and moves the apps onto servers in your own cloud account, where you pay your provider's price for compute and a flat subscription for the panel.

Developer at a cafe table at dusk closing a laptop, phone face down next to a flat white, rain on the window

Deployment and Heroku compared

A fair comparison has to start with the model, because the two products solve the same problem in different ways. Check Heroku's current pricing page for their latest plans and prices.

DeploymentHeroku
ModelPanel that manages your own serversManaged platform as a service
StacksPHP and Laravel, Node.js, Next.js, Python, Ruby on Rails, Go, Java, .NET, static sites, DockerMany languages through buildpacks and containers
Own serversYes, in your cloud account or any Ubuntu or Debian serverNo, apps run on the platform's infrastructure
Pricing modelFlat subscription per organization, servers billed by your cloud providerPay per app and per usage, with the platform's markup on compute
Zero downtime releasesBuilt in, health check before switchCheck their current documentation
RollbackOne click to any kept releaseRelease rollback on their platform
Teams and rolesOwner, admin, developer, viewer, per-server access, audit logCheck their current plans
SSO (SAML)Enterprise planCheck their current plans
Who runs the panelDeployment hosts the panel, your servers run the appsHeroku runs both the platform and the apps

What changes on the bill

On a PaaS, every new process type, staging copy or preview app is another line item, and data services are priced as add-ons. With Deployment, a staging environment is another site on a server you already pay for, a worker is another process on the same machine, and PostgreSQL and Redis run on your server or a dedicated database server you size yourself. The panel price depends on servers, sites and team size, not on how many processes you run. Starter is 49 USD a month (24 USD billed yearly) and Team is 199 USD a month (99 USD billed yearly); the full table is on PaaS pricing. The arithmetic for your own case is laid out in paas vs vps cost.

The workflow stays familiar

Push to a branch and the app deploys. Deployment reads your repository the way a buildpack would, detects the stack and writes a deploy script you can see and change. Your Procfile process types map to managed processes: web behind nginx or Caddy, worker and clock as daemons under supervisor or systemd. Config vars become encrypted environment variables per environment, with a diff before each deploy. Read more on deploy from git.

Sysadmin at a kitchen table at dawn running a server setup in a terminal on a laptop beside a router and notebook

When Heroku is the better choice

A managed PaaS is the better fit when nobody on the team wants to own servers at all, not even through a panel: no OS updates to trust, no disk to watch, no capacity to plan. It also makes sense for very small apps where the platform's convenience is worth more than the markup, for teams that depend on its add-on marketplace, and for organizations whose compliance setup is already built around the platform. Deployment handles provisioning, security updates, monitoring and backups for you, but the servers are still yours, and that is the trade you are choosing.

How to move from Heroku to Deployment

  • Connect a cloud account (Hetzner, DigitalOcean, AWS, Vultr, Linode, Google Cloud, OVH, UpCloud or Scaleway) and create a server sized for your dynos, or connect a server you already have.
  • Add the app from your git repository. Deployment detects the stack and turns your Procfile entries into a web process and managed workers.
  • Copy config vars into the encrypted environment, and review the diff.
  • Create PostgreSQL and Redis on the server, then restore a dump of your database. Schedule backups to your own S3-compatible storage.
  • Deploy to a temporary domain, test, then lower the DNS TTL and point your domain at the server. Deployment issues the Let's Encrypt certificate.
  • Keep the old app running in read-only mode until traffic has moved, then scale it down.

Heroku alternative questions

Do I need to know Linux administration?

Not for daily work. Deployment provisions the server, applies security updates, sets up the firewall and SSH hardening, and shows logs and metrics in the panel. Knowing the basics helps when you debug.

What happens if Deployment itself is unavailable?

Your apps keep running, because they run on your servers. You lose the panel until it is back, not your production traffic.

Can I keep using a Procfile?

Yes. Deployment reads Procfile process types and turns them into managed processes, which you can then adjust in the panel.

Can I try Deployment before I pay?

Yes. The home page has a free one-time demo: paste a public repository URL and see the detected stack, the server plan and the first lines of the deploy script. Plans start at 49 USD a month, or 24 USD a month billed yearly.

Keep git push, own the servers

Connect your cloud account and deploy your first app.

Try the demo