FerryDocs

The build of a static site

A static site can have a build step. Ferry runs it with the tools of your project.

Edit on GitHub
Build command--build-cmdpackage.jsona build scriptBuild stepdistpublish directory

A build command on the service gives a build step.

1 / 3

With no and no build script, there is no build step.

The tools of the build

Ferry chooses the from the files of the project.

ProjectToolchain
package.jsonNode.js, with the package manager of the project
requirements.txt, pyproject.toml or Pipfile (MkDocs, Pelican…)Python
Gemfile (Jekyll…)Ruby
A hugo.toml / hugo.yaml / hugo.json, or a build command that runs hugoHugo on Alpine
go.modGo
None of theseA plain node:22-alpine image

A runtime that you set (--runtime python, for example) chooses the toolchain.

A build command that installs dependencies

Use npm ci --include=dev

The build command runs with NODE_ENV=production. Thus npm ci does not install the devDependencies. Your build tools are in them.

Terminal
ferry update docs --build-cmd "cd docs && npm ci --include=dev && npm run build" --publish-dir docs/out

This case occurs when your build command installs the dependencies, for example in a subdirectory. Ferry does not install them there for you.

On this page