Installation
Start locally to explore; use a verified release archive on a supported host.
Requirements
- ✓ Docker Engine + Docker Compose
- ✓ Or Node.js 24.x for the direct demo (no npm install)
- ✓ A free local port 80 for the Docker sandbox
Try the Docker sandbox
Runs Portal in a container and does not change your local Nginx, systemd, or packages.
1
Clone and prepare .env
Copy the example file and generate the persistent encryption key.
git clone https://github.com/raptercode/dashboard-portal-control
cd dashboard-portal-control
cp .env.example .env2
Set owner credentials
Set a 12+ character owner password and the generated secret key.
openssl rand -base64 32
# Edit .env:
# HOSTMGR_ADMIN_PASSWORD=use-a-unique-12-plus-character-password
# HOSTMGR_SECRET_KEY=paste-the-generated-value3
Start the sandbox
Build and start the local Compose stack.
docker compose up --build -d
docker compose ps
docker compose logs -f hostmgr4
Open the dashboard
Sign in at localhost with the password you set.
# Open http://localhost in your browser
# Direct Node demo: npm run demo # http://127.0.0.1:3000⚠ Do not change HOSTMGR_SECRET_KEY after saving encrypted values; existing values become unreadable.
ℹ The Docker sandbox can test clone/build/health-check work, but has no privileged helper to activate systemd or change your machine’s Nginx/TLS.
Verify the path
Confirm the dashboard works, then read the project guide before deploying trusted source.
- ✓ Sign in, then open Setup to save the Git identity
- ✓ Read the Projects guide before deploying trusted repository code