Everything you need to deploy with peace of mind
App Deployer orchestrates the entire lifecycle of your deployments: from defining the pipeline to the audit trail, through securely connecting to your servers and tracking every run in real time.
Custom pipelines
Every deployment target (API, frontend, worker...) gets its own pipeline: an ordered list of shell steps, each with its own timeout and failure behavior (stop the run, or continue anyway). Nothing to hand-maintain in a YAML file — everything is configured from the UI, and each step can be replayed on its own.
Secure SSH connections
Your SSH credentials (password or private key) are encrypted at rest and only decrypted for the brief window it takes to open the connection, right when a deployment runs. No standing access, no session left open outside that window: your servers stay yours, we only execute the commands you defined.
Encrypted variables & secrets
Every target/environment pair (e.g. API x Production) has its own set of environment variables, encrypted in the database and never logged in plain text. A variable flagged as a secret is masked in the UI once saved. Nothing can leak from one environment to another: Staging never sees Production's secrets.
GitHub, GitLab, Bitbucket webhooks
Connect a GitHub, GitLab or Bitbucket webhook to a target, and decide which branch triggers which environment (for example main -> Production, develop -> Staging). Every webhook delivery is authenticated by signature or token, and automatically deduplicated to avoid double deployments on a provider retry.
Live tracking
The moment a deployment starts, its status and every step's output are streamed live over WebSockets (Reverb): you watch the logs appear as they happen, with no page reload, all the way to success, failure, or cancellation. A running deployment can be cancelled mid-flight; remaining steps are then cleanly marked as cancelled.
Team roles
Four roles cover most organizations: owner (full control, including billing), manager (manages applications and pipelines), deployer (can trigger deployments without changing configuration) and viewer (read-only). Permissions are scoped per application, not global to the whole account.
History & audit trail
Every deployment keeps its full history: the commit deployed, duration, each step's output, who triggered it and how (manually or via webhook). Configuration changes (pipeline, variables, members) are also recorded in a browsable audit log, useful for tracing an incident or answering a compliance requirement.