Deployment Guide
This project ships as two containers (frontend + API) and relies on external services:- Supabase Postgres for structured data
- Cloudflare R2 for workspace files and assets
Runtime Dependencies
- LibreOffice (soffice) is required in the API container to convert DOCX/XLSX/PPTX files into PDFs during ingestion.
Environment Variables
Create a.env from .env.example and fill in:
- Supabase connection settings (
SUPABASE_*) - R2 storage settings (
R2_*) - API keys (Anthropic, Google, etc.)
- APNs config for push (
APNS_ENV,APNS_TOPIC,APNS_TOPIC_IOS,APNS_TOPIC_MACOS, plus auth key in Doppler) BEARER_TOKENfor API auth- SSL settings (
DISABLE_SSL_VERIFYfor dev only,CUSTOM_CA_BUNDLEfor production MITM)
API Versioning
The backend exposes versioned routes under/api/v1. Legacy /api routes are still available
for backwards compatibility during migration.
Docker Compose (Recommended)
- Frontend: http://localhost:3000
- API: http://localhost:8001
Database Migrations
Migrations are managed with Alembic inbackend/api/alembic.
Maintenance Mode (Optional)
The frontend supports a maintenance/holding page controlled byMAINTENANCE_MODE=true.
Frontend Build Notes
SvelteKit builds via Vite:adapter-node.