3. Run the installer
sudo ./install.sh
Roughly what happens in the ~3 minutes it runs:
| Step | What it's doing |
|---|---|
| Preflight | Sanity-checks OS / kernel / CPU / mem / disk / docker / systemd / network. Refuses to proceed if something's wrong; add QT_SKIP_PREFLIGHT=1 to force. |
| Upstream controller | Installs the pinned controller drop (VPP, controller, vpp-bridge). |
| VPP CPU config | Patches /etc/vpp/startup.conf — preserves your corelist-workers if the cores exist; otherwise stamps a single-worker boot-safe minimum. |
| bng-deploy shim | Installs the Flask webui + gunicorn on port 8443. Drops in a systemd override that raises gunicorn --timeout to 180s so long-running API calls (subscriber onboards, snapshot restores) don't get killed at gunicorn's 30s default. |
| Bootstrap admin key + first-run token | Mints a one-time admin API key + first-run setup wizard token. |
| Healthcheck | Confirms the controller reports status=ok with vpp.connected=true. |
| Banner | Prints the admin key + the first-run URL. |
At the end you'll see something like:
================================================================
QuantumTouch BNG installed (quantumtouch-installer 1.2.0-62)
================================================================
Web UI: https://192.168.86.33:8443/
Controller API: https://localhost:3000/v1/bng/health
API reference: https://localhost:3000/redoc.html
------------------------------------------------------------
BOOTSTRAP ADMIN KEY (shown ONCE — copy this now):
quantum_8f232944a8cd2317f9cf270b5b857886
Use for API calls until you mint a per-operator key:
curl -H 'Authorization: Bearer quantum_...'
https://localhost:3000/v1/bng/health
------------------------------------------------------------
------------------------------------------------------------
FIRST-RUN SETUP — open in a browser now:
https://192.168.86.33:8443/bng/setup-wizard?token=bs_...
------------------------------------------------------------
Copy the admin key and the setup URL now. The admin key is shown once and never printed again — losing it means recovering via sudo /opt/bng-deploy/bin/reset-admin.sh. The setup token can be recovered via sudo /opt/bng-deploy/bin/show-bootstrap-token.sh while no admin exists.