Features Simple. Quick. Integrated.

Zero downtime deployments
New deployments are prepared in a separate directory and atomically symlinked to the "current" directory when all steps succeeded. This ensures that your users hit the new code only when it's ready to accept traffic.

Integrated with GitHub, GitLab (self-hosted too) and Bitbucket
Deploy when you push, code is directly downloaded from the repository to your servers whenever a new commit is made. You can also choose to trigger the deployment manually (after your CI finishes for example) by calling a URL.

Multiple environments
Want to deploy a staging and production environment on the same server? No problem, create as many environments as you need. All environments have their own .env file and deployment flows allowing you to test changes.

Customizable deployment plan
Every step is customizable by writing your own scripts to do whatever you need to do to prepare you app for going live. Need to execute a step on a single server or specific servers? Also possible!

Update your .env on push
On every deployment a fresh .env file is pushed to your servers so it only updates when your code does. When you need to roll back a deployment your .env is also reverted keeping it in sync with your code.

Seamless rollbacks
Activate an earlier deployment with the click of a button. No need to wait for a fresh deployment to finish, just click the button and you're back in business if things went south.

Made to scale
It doesn't matter if you have 1 or 100 servers, we can handle it! Deployments are executed in parallel on all servers but only step for step to make sure they all succeed or none do.


Not the features you are looking for? Tell us what you need!

Need help?

We are happy to help you with any questions you might have.

  Documentation   Roadmap   Report a bug   Get in touch