Local Docker & Node
Two ways to explore, with different execution boundaries.
Prepare source and secrets
Use Git and a new directory. Commands below are Bash; on PowerShell replace cp with Copy-Item, or use the shell selector on the installation page.
git clone --branch v1.0.0 https://github.com/raptercode/dashboard-portal-control.git
cd dashboard-portal-control
cp .env.example .envSet HOSTMGR_ADMIN_PASSWORD to a unique 12+ character password and HOSTMGR_SECRET_KEY to a generated 32-byte Base64 key. Keep the other demo defaults.
openssl rand -base64 32
nano .envDocker Compose
Requires Docker Engine/Desktop, Compose v2 and free port 80. The image defaults to Node 24.18.0 and does not include every project runtime.
docker compose up --build -d
docker compose psOpen http://localhost. State persists in hostmgr-data. Stop with docker compose down; do not add -v unless deleting data is intended. Compose publishes 80:3000, so keep this HTTP demo on a trusted development network. Real cloning/building can execute repository code inside the container; host activation is unavailable.
Direct Node.js
Use Node 24 for a new local setup. Supported ranges are 20.20.2–20.x, 22.13–22.x, 24.x and 26.x. Node 20 requires better-sqlite3 and may need build tools.
node --version
npm ci
npm run demoOpen http://127.0.0.1:3000. HOSTMGR_SANDBOX_CLONE=false in .env simulates sync/deploy. Set true only for trusted code: it runs clone/build on your own machine. Stop with Ctrl+C. Stop the demo before npm run demo:reset-password; the new password is printed once and existing sessions are invalidated.