HotupdaterHot Updater
OperateConsole deployment

Docker

Build and run the Nitro console in a Node container.

Prerequisites

Complete Basics first, with adapters that run in Node. You also need Docker.

Prepare runtime variables

cp .env.example .env.production
chmod 600 .env.production

Fill .env.production with the authentication variables and the backend variables your console.config.ts reads. Use plain KEY=value entries without wrapping quotes.

Set BETTER_AUTH_URL to your public HTTPS origin and register its OAuth callback. For local testing, use http://localhost:3000 and a matching callback.

Build the image

Use the repository's included Dockerfile and .dockerignore:

docker build -t hot-updater-console:local .

The image builds the Node server and runs the complete .output as a non-root user. Secrets are supplied at startup.

The Dockerfile uses pnpm-lock.yaml. When you install packages, such as your adapters', use the pnpm tab of their installation guide to update that lockfile before building.

Start the container

docker run -d \
  --name hot-updater-console \
  --restart unless-stopped \
  --env-file .env.production \
  -p 127.0.0.1:3000:3000 \
  hot-updater-console:local

Open http://localhost:3000: you should see the sign-in page.

Connect HTTPS and verify

Point your host's HTTPS reverse proxy at 127.0.0.1:3000, preserving the original host and scheme. Then open the public URL and follow Verify the deployment.

For a managed container service, supply the same variables through its runtime secret settings. The server listens on 0.0.0.0 and accepts the platform's PORT value.

See Nitro's Node guide and Docker's run reference.

On this page