Hop uses Nixpacks for automatic, configless deployments. You can write a custom Dockerfile if you don't want to use Nixpacks.

Node.js is detected when you have a package.json file in your project. All dependencies found in packages.json are installed with either NPM, Yarn, PNPM, or Bun (depending on the lockfile detected).

Start Command

You can specify a custom start command in your package.json file, for example:

	"scripts": {
		"start": "node index.js"

If not specified, then the start command will be inferred based on the environment. Read more on the Nixpacks documentation.


Hop supports the following Node.js versions out of the box:

  • 18
  • 16 (default)
  • 14

Specifying a version

The version can be overridden by:

  • Setting the NIXPACKS_NODE_VERSION environment variable, or
  • Specifying the engines.node field in package.json