Skip to main content

2. Installation

Once your device is running with the operating system, follow these steps to install promiseQube:

Step 1: Connect to Your Device​

  1. Open a terminal on your computer
  2. SSH into your device:
    ssh username@ip_address
    Replace username and ip_address with your device's credentials

Step 2: Run the Installation Script​

Download and run the installation script:

curl -sSL https://www.promiseq.com/install.sh -o install.sh
sudo bash install.sh

The script runs interactively: you only choose the capability (Lite or AI), and the hardware is detected automatically.

To choose the Qube type up front instead, pass it as an argument (sudo bash install.sh <qube-type>):

Qube typeWhat it installs
qube-liteNo on-device AI (Raspberry Pi, NVIDIA Jetson, Qualcomm Dragonwing)
qube-aiHailo-accelerated AI (Raspberry Pi 5 + AI HAT+, reComputer R2000)
qube-ai-deepstreamNVIDIA DeepStream AI (Jetson Orin, requires JetPack 6.x)
qube-ai-qcomHexagon-NPU AI (Qualcomm Dragonwing boards)
qube-ai-x86CPU-based AI via ONNX Runtime (generic x86_64 machines)

Note:

  • Installations always target the production environment.
  • The device type (Raspberry Pi, NVIDIA Jetson, Qualcomm) is automatically detected by the script — the AI type you pass must match the device. Other devices are not supported by the installer.
  • If the device already has a promiseQube installation, the script detects it before installing. A failed or half-finished installation is removed (after you confirm) so the install starts clean. A working installation is kept and updated in place — the script asks first if you would rather wipe it and start from scratch, which deletes its recordings, database and cloud pairing.
  • The script also checks that the network ports promiseQube needs are free, and tells you which program is holding any port that is not.
  • The script also checks that the STUN (UDP 19302/3478) and TURN relay (TCP 5349) servers used for remote live view are reachable, and warns if remote live view won't work from outside your network.
  • On NVIDIA Jetson, the NVIDIA container toolkit (shipped with JetPack) must be installed, or the script stops.
  • On a Jetson with 16 GB or more RAM, qube-ai-deepstream asks whether to install the on-device vLLM for Cuby (default: no — Cuby then uses a cloud LLM).
  • The installation log is written to /etc/promiseq/logs/install.log.
Installation Time

This script will take 15-60 minutes to complete, depending on your internet speed and device performance. The process includes:

  • Downloading Docker images
  • Installing system dependencies
  • Configuring services
  • Setting up the promiseQube environment

Do not interrupt the process or close the terminal session.

qube-ai reboots the device once — this is expected

On Hailo devices (qube-ai), the script installs the Hailo driver and then automatically reboots the device to load it. This is not a failure: after the reboot, the installation resumes on its own (it can take another 10–30 minutes). You can monitor the resumed installation with:

tail -f /etc/promiseq/logs/resume_install.log

Step 3: Verify​

  1. Wait for the installation to report success (for qube-ai, wait for the automatic reboot and resumed installation to finish).

  2. Verify the installation by checking if services are running:

    sudo docker ps

Accessing promiseQube​

Local Web Interface​

  1. Open a web browser on any device connected to the same network

  2. Navigate to: http://ip_address

    • Replace ip_address with your device's actual IP address
  3. Default Login Credentials:

    • Username: admin
    • Password: admin
    Change Default Password

    Important: Change the default password immediately after first login for security reasons. The local web interface does not have a password screen yet, so change it through the Qube's API from any computer on the same network:

    # 1. Log in and copy the "access_token" from the response
    curl -X POST http://ip_address/api/auth/login \
    -H "Content-Type: application/json" \
    -d '{"username":"admin","password":"admin"}'

    # 2. Change the password using that token
    curl -X POST http://ip_address/api/auth/change-password \
    -H "Authorization: Bearer <access_token>" \
    -H "Content-Type: application/json" \
    -d '{"old_password":"admin","new_password":"<your-new-password>"}'

Cloud Web Interface​

For cloud connectivity and remote management:

  1. Create an account on promiseQ Cloud.
  2. In the cloud dashboard, click Add Qube and choose one of:
    • Find on your network (recommended — needs at least one Qube already connected to your account): your connected Qubes scan their local network for nearby Qubes. Click Link next to the new Qube and enter its local admin username and password — no need to open its own web interface.
    • Set up with a token: give the Qube a name to get a pairing token. Then, in the Qube's local web interface, open Configurations → promiseQ Cloud, paste the token and connect.