Self-Host

Self-host the operator console

One Docker Compose stack. Your Supabase project. Your network. The full operator console for ThoxMicroV is open source and self-hostable.

Prerequisites

  • Docker 24+
  • Docker Compose v2
  • A Supabase project
  • ~2 GB RAM
  • ~2 GB disk

One-time setup

  1. 1

    Create a Supabase project at https://supabase.com.

  2. 2

    Paste the schema from sandbox/ui/lib/db/schema.sql into the Supabase SQL editor and run it.

  3. 3

    cp .env.example .env and fill in the values.

  4. 4

    docker compose up --build.

  5. 5

    Open http://localhost:3000, click Register. The first user on a fresh database becomes admin automatically via the seed_first_admin trigger.

Environment variables

VariableRequiredServer-onlyDescription
NEXT_PUBLIC_SUPABASE_URLyesnoSupabase project URL
NEXT_PUBLIC_SUPABASE_ANON_KEYyesnoSupabase anon key
SUPABASE_SERVICE_ROLE_KEYyesyesBypasses RLS — server-only
EXEC_RELAY_JWT_SECRETyesyesHS256 signing key, ≥32 chars (openssl rand -base64 48)
EXEC_TOKEN_TTL_SECONDSnoyesDefault 300
NEXT_PUBLIC_EXEC_RELAY_URLyesnows://localhost:8202 (dev) or wss://relay.example.com
NEXT_PUBLIC_APP_URLyesnoPublic origin
COORDINATOR_ADMIN_KEYyesyesPairing-token issuance auth

Pairing a device

  1. 1

    Sign in as admin, open Admin → Pairing tokens.

  2. 2

    Click "Issue pairing token", copy the result.

  3. 3

    On the host: docker exec -it thoxos-node-a thoxosctl pair --token TOKEN.

  4. 4

    Within ~60 seconds, the device appears under Devices.

Smoke tests

./tests/e2e-pair.sh
./tests/e2e-inference.sh
./tests/e2e-terminal.sh

Pricing

Recommended

Self-host

Free

Run on your own Supabase + Docker host. Unlimited devices and operators. Full source. Community support.

Start with the docs

Supported

Talk to us

Hardening review for production. TLS, SSO, audit retention guidance. Priority issue response.

Talk to us

Managed

Talk to us

We run it for you. Multi-tenant or dedicated. BYO Supabase project. SLA available.

Talk to us