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.
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": "bun run build", "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).