Supported Frameworks
deploybase auto-detects frameworks and applies sensible build defaults. All defaults can be overridden per project.
Framework Defaults
Section titled “Framework Defaults”| Framework | Build Command | Output Dir | Install Command | Docker Image |
|---|---|---|---|---|
| Next.js | npm run build |
out |
npm install |
node:24-alpine |
| SvelteKit | npm run build |
build |
npm install |
node:24-alpine |
| Astro | npm run build |
dist |
npm install |
node:24-alpine |
| Hugo | hugo --minify |
public |
— | hugomods/hugo:0.139.0 |
| Vite | npm run build |
dist |
npm install |
node:24-alpine |
| Gatsby | npm run build |
public |
npm install |
node:24-alpine |
| Jekyll | jekyll build |
_site |
bundle install |
jekyll/jekyll:4 |
| Custom | npm run build |
dist |
npm install |
node:24-alpine |
The framework field accepts: nextjs, sveltekit, astro, hugo, vite, gatsby, jekyll, other.
Package Managers
Section titled “Package Managers”The npm install in the table above is a default, not a restriction. Node frameworks install with npm, pnpm, yarn or bun, detected from your repository or set explicitly with the package_manager field:
curl -X PATCH https://api.deploybase.eu/api/v1/projects/PROJECT_ID \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"package_manager": "bun"}'The build command is unaffected: npm run build runs the build script from your package.json whichever manager installed the dependencies. See Build System for detection order and lockfile handling.
Overriding Build Settings
Section titled “Overriding Build Settings”Set build_command and/or output_dir on the project to override defaults:
curl -X PATCH https://api.deploybase.eu/api/v1/projects/PROJECT_ID \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"build_command": "npm run generate", "output_dir": ".output/public"}'Validation Rules
Section titled “Validation Rules”Build commands and output directories are validated for safety:
| Rule | Build Command | Output Dir |
|---|---|---|
| Max length | 1024 characters | 256 characters |
| Allowed characters | Alphanumeric, spaces, -_./,:=@ |
Any valid path |
| Blocked | Shell metacharacters (&, ;, |, `, $, (), {}, !, <>, quotes) |
.. (path traversal), absolute paths |
If no custom values are set, the framework default is used. If the framework is not specified or unrecognized, the other defaults apply (npm run build → dist).
Framework-Specific Notes
Section titled “Framework-Specific Notes”Next.js requires static export mode. Ensure next.config.js includes output: 'export'. Server-side rendering is not supported.
SvelteKit requires @sveltejs/adapter-static. Install it and configure in svelte.config.js.
Astro outputs static files by default. No additional configuration needed unless using SSR adapters (which are not supported).
Hugo builds run without an install step. The Docker image includes Hugo with extended features (Sass/SCSS support).