Guides

Deploy on push

Let every push to the watched branch redeploy the app automatically, from GitHub or any other connected Git repo, without a pipeline to maintain.

Turn on auto-deploy and every push to the watched branch rebuilds the app from the new commit and rolls it out, with each deploy on the record. No pipeline to write, no runner to keep alive, no deploy key to rotate.

Turn it on

Auto-deploy is set per app, in the console (there is no CLI flag or MCP tool for it):

  1. Connect the repo once. For GitHub, that’s the nyxory GitHub App. For other Git hosts, an HTTPS Git connection or, on a connected Gerrit, the project’s read account.
  2. Deploy the app once from that repo. The console captures the app’s blueprint from that deploy; the Auto-deploy panel on the app appears after it.
  3. Switch Redeploy on push on.
  4. Pick the branch to watch: main, a staging branch, whatever maps to that environment. Left blank, nyxory watches main, not your repository’s default branch, so set it explicitly if yours is master or anything else.

That’s the whole setup.

What happens on a push

A bad push never takes the running app down. Fix it and push again; the next commit goes through the same path.

On GitHub, the push notifies nyxory right away; repos on other hosts are checked about once a minute. You follow each deploy in the console, where the panel shows building, deploying, deployed, or action required, or from your agent with nyx_build_status.

On a dedicated instance, a deploy/ folder in the repo is applied on the same push. The manifests in it, a Postgres database included and a bucket where the instance has object storage, become the app’s configuration, and the console shows the commit it came from. A folder that breaks a rule is refused before anything is written, and the running version keeps serving. See Configure your app from the repo.

Good to know

  • CronJobs are included. A push rolls the new image into an app’s CronJobs, and the next scheduled run uses it. See Jobs and CronJobs.
  • Restores switch it off. An app or full restore turns auto-deploy off so a push can’t race the rollback. It stays off until you switch Redeploy on push back on.
  • One branch, one environment. Point a production app at main and a staging app at staging; each app watches its own branch, so the right commit always lands in the right place.

Related: Configure your app from the repo · Deploy from a private repo · Day-2 operations

Ask any AI about nyxory