The fastest way to run Caret is locally with Docker Compose. The entire stack — frontend, API Gateway, auth, document, collaboration, and AI services — starts from a single command. The only external dependency you need to prepare before running anything is a Supabase project, which provides managed PostgreSQL, authentication, and the pgvector extension used by the AI service for RAG embeddings.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/arrozet/caret/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
- Docker and Docker Compose (v2) installed and running
- A Supabase project with its URL, anon key, and database connection string ready
- An OpenAI API key for the AI service (the
OPENAI_API_KEYvariable)
Setup Steps
Create the Environment File
Create a The following variables are optional but supported by the AI service if you want to use alternative model providers:Additional variables consumed by the auth, document, and collab services (such as
.env file at the repository root. Docker Compose reads this file automatically and injects the values into every service that references them.SUPABASE_SERVICE_ROLE_KEY, JWT_SECRET, and SUPABASE_JWT_SECRET) are not strictly required for local development but can be added if you need to exercise service-role operations or JWT verification in the collab service:Start All Services
Build and start the full stack with a single command from the repo root:Docker Compose will build images for all six services and start them in dependency order. Health checks run every 10 seconds; wait until all services report as healthy before proceeding. On subsequent runs, omit
--build if you have not changed any source files:Open the Frontend
Once all containers are running, open your browser at:The React frontend is served by the Vite dev server on port 5173. It communicates with the API Gateway at
http://localhost:3000/api/v1 and opens a WebSocket connection to the collab service at ws://localhost:3003 when you open a document.Sign In and Explore
- Sign in using the Supabase Auth flow (email/password or any provider you have enabled in your Supabase project dashboard).
- Create a workspace — workspaces are the top-level container for your documents.
- Create a folder (optional) inside the workspace to organise documents.
- Create a document and start writing in the Tiptap editor.
- Open the AI panel with Ctrl+K (or Cmd+K on macOS) to interact with the agentic AI assistant. Switch between general and analyst modes from within the panel.
Service Ports
All services expose their ports on localhost during local development:| Service | Port | Notes |
|---|---|---|
| Frontend | 5173 | React + Vite dev server |
| API Gateway | 3000 | Routes all /api/v1/... REST traffic |
| Auth Service | 3001 | Reached by the gateway; handles Supabase Auth |
| Document Service | 3002 | Workspaces, folders, and documents CRUD |
| Collab Service | 3003 | WebSocket — frontend connects directly, not through the gateway |
| AI Service | 8000 | FastAPI — completions, embeddings, and RAG |