Deploying apps

Connect a Git repo, set build and start commands, and auto-deploy on every push.

A service is one deployable app built from a Git repository. Connect the repo, tell Gheima how to build and start it, and it redeploys on every push.

Connect a Git repository#

  1. 1

    Choose from GitHub

    After connecting the GitHub App, pick a repository from the dropdown — the clone URL and default branch fill in automatically.

  2. 2

    Or enter a URL

    Click “Enter a URL manually” and paste a Git URL like https://github.com/you/repo.

Build & runtime settings#

Open the service’s Settings tab. Leave the build and start commands blank to let Nixpacks auto-detect your stack, or set them explicitly.

Build command
How your app is built, e.g. npm run build. Blank = auto (Nixpacks).
Start command
How your app starts, e.g. npm start. Blank = auto (Nixpacks).
Port
The port your app listens on. Default 3000 for web services.
Health check path
A path that returns 200 when the app is healthy, e.g. /health.

Auto-deploy on push#

In Settings, turn on “Auto-deploy on push”. Every push to the configured branch triggers a new deployment, recording the commit SHA, message, and author.

You can deploy manually any time with the “Deploy” button on the service page. Settings changes apply on the next deploy.

Service types#

Web
An HTTP service served on a gheima.ma subdomain — the default.
Worker
A background process with no public URL (queues, jobs).
Static
A static build served on the edge — see Static sites.

Resources#

The Resources card in Settings sizes each service: replicas (1–10), memory (128–8192 MB), and CPU (0.1–8 vCPU). Changes apply on the next deploy, within your plan’s limits.

Persistent volumes#

Under a service’s Settings, attach a persistent volume at a mount path (e.g. /data). It’s a node-local disk that survives deploys and restarts — write files there and they persist. Changes take effect on the next deploy. Best for single-instance stateful apps; scale-out apps should use a managed database or object storage instead.

Push to your branch and Gheima builds and rolls out the new version automatically, with live logs on the service page.