Skip to main content
OpenDot uses PostgreSQL for durable platform data and Drizzle for schema and migrations.

Start the local database

From the repository root:
This starts the local PostgreSQL container on 127.0.0.1:5432 and applies the Drizzle migrations.

Open Drizzle Studio

From the repository root:
Open:
Drizzle Studio reads platform/drizzle.config.ts, loads the root .env, and connects through POSTGRES_URI when set or the local Postgres defaults when it is empty. Use it to inspect the OSS core schema: app_users, local_auth_credentials, user_preferences, SDK API keys, versioned agents and pipelines, devices, device activation requests, device credentials, runtime session tokens, device state, and deployments.

Connection defaults

The local Compose database uses:
For Supabase, set POSTGRES_URI to the Supabase Postgres connection string and use:
OpenDot keeps product data in its own tables even when Supabase Auth is used. In Supabase-backed deployments, auth.users.id maps to app_users.id; devices, agents, pipelines, deployments, settings, SDK API keys, device credentials, and runtime session tokens remain OpenDot-owned data.

Stop inspection services

Stop Drizzle Studio with Ctrl+C in the terminal where it is running. Stop the local database: