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 .env
2

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-value
3

Start the sandbox

Build and start the local Compose stack.

docker compose up --build -d
docker compose ps
docker compose logs -f hostmgr
4

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