Skip to content

Supported Frameworks

deploybase auto-detects frameworks and applies sensible build defaults. All defaults can be overridden per project.

FrameworkBuild CommandOutput DirInstall CommandDocker Image
Next.jsnpm run buildoutnpm installnode:24-alpine
SvelteKitnpm run buildbuildnpm installnode:24-alpine
Astronpm run builddistnpm installnode:24-alpine
Hugohugo --minifypublichugomods/hugo:0.139.0
Vitenpm run builddistnpm installnode:24-alpine
Gatsbynpm run buildpublicnpm installnode:24-alpine
Jekylljekyll build_sitebundle installjekyll/jekyll:4
Customnpm run builddistnpm installnode:24-alpine

The framework field accepts: nextjs, sveltekit, astro, hugo, vite, gatsby, jekyll, other.

Set build_command and/or output_dir on the project to override defaults:

Terminal window
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"}'

Build commands and output directories are validated for safety:

RuleBuild CommandOutput Dir
Max length1024 characters256 characters
Allowed charactersAlphanumeric, spaces, -_./,:=@Any valid path
BlockedShell 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 builddist).

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).