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
Create a Supabase project at https://supabase.com.
- 2
Paste the schema from sandbox/ui/lib/db/schema.sql into the Supabase SQL editor and run it.
- 3
cp .env.example .env and fill in the values.
- 4
docker compose up --build.
- 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
| Variable | Required | Server-only | Description |
|---|---|---|---|
| NEXT_PUBLIC_SUPABASE_URL | yes | no | Supabase project URL |
| NEXT_PUBLIC_SUPABASE_ANON_KEY | yes | no | Supabase anon key |
| SUPABASE_SERVICE_ROLE_KEY | yes | yes | Bypasses RLS — server-only |
| EXEC_RELAY_JWT_SECRET | yes | yes | HS256 signing key, ≥32 chars (openssl rand -base64 48) |
| EXEC_TOKEN_TTL_SECONDS | no | yes | Default 300 |
| NEXT_PUBLIC_EXEC_RELAY_URL | yes | no | ws://localhost:8202 (dev) or wss://relay.example.com |
| NEXT_PUBLIC_APP_URL | yes | no | Public origin |
| COORDINATOR_ADMIN_KEY | yes | yes | Pairing-token issuance auth |
Pairing a device
- 1
Sign in as admin, open Admin → Pairing tokens.
- 2
Click "Issue pairing token", copy the result.
- 3
On the host: docker exec -it thoxos-node-a thoxosctl pair --token TOKEN.
- 4
Within ~60 seconds, the device appears under Devices.
Smoke tests
./tests/e2e-pair.sh ./tests/e2e-inference.sh ./tests/e2e-terminal.sh
Pricing
Self-host
Free
Run on your own Supabase + Docker host. Unlimited devices and operators. Full source. Community support.
Start with the docsSupported
Talk to us
Hardening review for production. TLS, SSO, audit retention guidance. Priority issue response.
Talk to usManaged
Talk to us
We run it for you. Multi-tenant or dedicated. BYO Supabase project. SLA available.
Talk to us