Deploying
Project settings
Configure build settings, git source, health checks, and more
Overview
Each project has a Settings tab where you can configure how it builds and runs. Changes are saved and applied on the next deploy.
Build configuration
Build type
Choose how Zanode builds your project:
| Build type | Description |
|---|---|
| Railpacks | Auto-detects your framework and builds without a Dockerfile (default) |
| Dockerfile | Builds using a Dockerfile in your repository |
Framework preset
When using Railpacks, select your framework to auto-populate the build command, start command, and output directory:
| Framework | Build command | Start command | Output dir |
|---|---|---|---|
| Next.js | npm run build | npm start | .next |
| Astro (static) | npm run build | npm run preview -- --host 0.0.0.0 --port 3000 | dist |
| Astro (SSR) | npm run build | node ./dist/server/entry.mjs | dist |
| SvelteKit | npm run build | node build | build |
| Nuxt | npm run build | npm run start | .output |
| Remix | npm run build | npm start | build |
| Vite | npm run build | npm run preview -- --host 0.0.0.0 --port 3000 | dist |
| Express / Node | (none) | node index.js | (none) |
You can override any of these values manually.
Build command
The shell command used to compile your app, e.g. npm run build. Leave blank if no build step is needed (e.g. a plain Node server).
Start command
The command used to run your app after building, e.g. node build or npm start.
Output directory
The directory where your build artifacts are placed, e.g. .next, dist, or build.
Root directory
If your project lives in a subdirectory of your repository (e.g. a monorepo), set the root directory to that path (e.g. /apps/web). Defaults to /.
Dockerfile builds
When Dockerfile is selected as the build type:
| Setting | Description |
|---|---|
| Dockerfile path | Path to your Dockerfile relative to the context, e.g. ./Dockerfile |
| Build context | The build context directory sent to Docker, defaults to . |
| Build stage | Target a specific multi-stage build stage (optional) |
| Build args | KEY=VALUE pairs passed as --build-arg (masked if previously saved as secret) |
| Build secrets | Secrets passed as --secret id=...,src=... at build time (masked if previously saved as secret) |
Build args and secrets are masked in the UI once saved. Leave the field empty to preserve the existing value on next save.
Git configuration
| Setting | Description |
|---|---|
| Repository URL | The GitHub repository URL (e.g. https://github.com/org/repo) |
| Branch | The branch to deploy from. Defaults to main. Pushes to this branch trigger automatic deployments |
Health check
The health check path is an HTTP endpoint Zanode pings to verify your app has started successfully (e.g. /health or /). Leave blank to skip health checking.
Danger zone
The Danger zone section at the bottom of Settings allows you to permanently delete the project. You must type the project name to confirm.
Deleting a project permanently removes all associated databases, environment variables, and deployment history. This cannot be undone.