Documentation

Get up and running with ollalink

ollalink is a self-hosted control plane for remote access. You run the signaling server; ollalink brokers sessions, organizes your fleet into workspaces, and meters usage. This guide takes you from zero to a connected machine.

Quickstart

Three steps to your first session.

1 — Bring up the control plane

Point your dashboard at your self-hosted backend and signaling server.

# dashboard env
NEXT_PUBLIC_CONVEX_URL=https://convex.your-domain.com
QUICKDESK_BASE_URL=https://signaling.your-domain.com

2 — Install a host

On the machine you want to control, install the agent and point it at your signaling server.

# windows (silent)
ollalink-host-setup.exe /VERYSILENT
# then set the signaling URL
signalingServerUrl = wss://signaling.your-domain.com

3 — Connect from the browser

Open your dashboard, find the device in /devices, and click Connect. The session streams to your tab over WebRTC.

Core concepts

Workspace

A tenant. Devices, members, sessions, API keys, and usage are all scoped to a workspace.

Device

A host machine running the agent. It registers to your signaling server and is mirrored into the fleet with online status.

Session

A brokered remote-control connection. Duration is metered into the workspace's session_minutes.

API key

A workspace-scoped secret (sk_…) for calling the API from your own systems.

Adding hosts

Install the agent on Windows or macOS. On first run it provisions a device id and access code, then connects to your signaling server. Add it to a workspace's group and it appears in the dashboard fleet, online.

Workspaces & invites

Invite teammates by email from Platform → Members with a role of owner, admin, or member. Once they accept, they see the same fleet and can connect to any device. Removing a member revokes their access immediately.

Usage & billing

Every completed session adds to the workspace's session_minutes; online devices feed active_devices. View both under Settings → Plan & Usage. Plan limits are enforced in-app; metered usage can be pushed to a payment processor or kept internal.

Ready to script it?

The full REST API covers devices, sessions, members, and usage.

API reference →