Skip to main content

Getting Started with Corsano OnPrem

Follow these steps to provision a complete study end-to-end, from backend installation through gateway deployment.

Last updated: 2026-05-06


Prerequisites

Hardware & Software

For best results, perform the installation on a fresh Ubuntu host that matches the recommended environment below. Provisioning a dedicated machine avoids conflicts with existing services and keeps the deployment reproducible.

ItemRecommendedNotes
Host OSUbuntu 22.04 LTS 64-bit
CPU / RAM4 physical cores / 8 threads, 16 GiB
Disk30 GiB freeDocker images + patient logs
Docker Engine25.xIncludes Compose v2 plugin
Cisco Catalyst 9800-L / -40 / -80IOS-XE 17.3+
Cisco AP9100 or 9300 series

Install Docker, Nginx, and supporting tools

On a freshly provisioned host, run the script below to install Docker (with the Compose plugin), Nginx, and the unzip utility. Docker is installed from Docker's official Ubuntu repository, which is the recommended source.

# Update package index
sudo apt-get update

# Install unzip and nginx (in default repos)
sudo apt-get install -y unzip nginx

# Install Docker from Docker's official repo (recommended over Ubuntu's docker.io)
sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo $VERSION_CODENAME) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Setup: Create the corsano working directory and fetch the release

The Corsano on-prem files must live in a directory that is operated with root privileges. Use either /root/corsano when running directly as root, or /home/$USER/corsano when running as a regular user with sudo. Create the directory, change into it, then download and unzip the latest release archive from GitLab using the commands below.

sudo mkdir -p /root/corsano
cd /root/corsano
sudo wget https://gitlab.corsano.health/api/v4/projects/1/packages/generic/on-prem/0.1.12/corsano-on-prem-0.1.12.zip
sudo unzip corsano-on-prem-0.1.12.zip

Expected directory contents

After extraction, list the directory contents and verify that the following files are present. The start.main.sh and start.gateway.sh scripts referenced in later steps live here.

ls /root/corsano
-rw-rw-r-- 1 zak  zak  3.2K May  6 14:12 bracelet_types.json
-rw-rw-r-- 1 zak zak 3.4K May 6 14:06 corsano-on-prem-0.1.12.zip
-rw-rw-rw- 1 zak zak 702 May 5 17:55 docker-compose.gateway.yaml
-rw-rw-rw- 1 zak zak 1.9K May 5 17:55 docker-compose.main.yaml
-rw-rw-rw- 1 zak zak 286 May 6 14:17 gateway.env
-rwxrwxrwx 1 zak zak 700 May 6 11:48 start.gateway.sh
-rwxrwxrwx 1 zak zak 1.8K May 6 14:06 start.main.sh
-rwxrwxrwx 1 zak zak 227 May 6 11:48 stop.gateway.sh
-rwxrwxrwx 1 zak zak 221 May 6 11:48 stop.main.sh

1. Start the backend service

On the host machine, open a terminal and launch the backend service with the command below. Leave the process running before proceeding to the remaining steps. On the first run, the script pulls the required Docker images, starts the containers, and then prompts you to configure the super admin account. You will be asked to provide an admin login, password, and password confirmation. Once completed, the administrator account is created and the service is ready to use.

./start.main.sh

Initial setup prompts for super admin credentials


2. Install the frontend

Run the script below to download and install the latest frontend build. Sudo privileges are required on the host machine.

curl -fsSL https://onprem-releases.dev.corsano.com/update_fe.sh | sudo bash

3. Sign in with the admin account

Open the web interface in a browser and sign in using the super admin login and password you configured during the backend setup.

Sign in with the admin account


4. Add an HCP Admin

Navigate to Admin Settings → Users Management and create a new user with the HCP Admin role. This account will own and manage one or more studies.

Add an HCP Admin


5. Add a Study and assign it to an HCP Admin

Navigate to Admin Settings → Departments, create a new study, and assign the HCP Admin you created earlier so they have authority to administer it.

Add a Study and assign HCP Admin


6. Create a Patient under the Study

Open the study and add a new patient. The patient is automatically associated with the study they are created under.

Create a Patient


7. Create a Bracelet

In Admin Settings → Bracelets, register a new bracelet using its MAC address. Once registered, the bracelet becomes available for assignment within the system.

Create a Bracelet


8. Attach the Bracelet to the Patient

From the patient's profile, attach the registered bracelet. Once attached, the bracelet will begin streaming data for that patient.

Attach the Bracelet to the Patient


9. Add a Gateway and assign the Study to it

Open the Gateways page and add a new gateway (Cisco, Aruba, or IoT Hub). Once created, assign the study to the gateway so the bracelets in that study route their data through it.

Add a Gateway and attach the Study

Data flow: Gateway → Studies → Patients → Bracelets

How it works: a gateway is associated with one or more studies. Each study contains patients, and each patient is assigned a bracelet. The gateway listens for data from every bracelet belonging to a patient under any of its assigned studies and forwards that data to the cloud.


10. Start the Gateway app from the terminal

Open a terminal on the gateway host and launch the gateway service using the command below. The screenshots that follow walk through preparing the configuration file and verifying that the gateway containers start successfully.

./start.gateway.sh

Download the gateway .env file from the portal

Download the .env file from the portal and place it next to the start.gateway.sh script.

Verifying gateway.env exists

Ensure the gateway.env file downloaded from the portal is present in the working directory.

Gateway containers running successfully

Run ./start.gateway.sh and verify that the gateway containers come up and run correctly.


11. Onboard the Patient using the HCP iOS app

On the HCP iOS app, sign in by scanning the QR code generated for the HCP Admin account. From the Users Management page in the web UI, click Show Login Code next to the HCP Admin to display the QR code, then scan it with the iOS app to authenticate.

Once signed in, open the target patient and complete the onboarding flow:

  1. Run Wearing Optimization to ensure the bracelet is correctly fitted and positioned on the patient.
  2. Perform two Blood Pressure calibrations to seed the patient's baseline measurements.
  3. Disconnect the bracelet from the HCP app, then open the iOS system Bluetooth settings and choose Forget This Device for the bracelet so the gateway can take over the connection.

When onboarding succeeds, the patient row in the study view displays a green Onboarded indicator, and the gateway begins establishing its connection to the bracelet.

For a full walk-through, check out the video at Chapter 2: Hospital Onboarding with Cisco.


12. Verify that patient data is streaming

With the gateway running, return to the study in the web interface. Live vitals such as heart rate, SpO₂, respiration, blood pressure, and temperature should begin populating each patient row, and the patient status should transition to Onboarded. If the values remain blank, confirm that the gateway is running and that the bracelet is paired and powered on.

Live patient vitals streaming into the study view