Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.tesslate.com/llms.txt

Use this file to discover all available pages before exploring further.

Tesslate OpenSail

Overview

OpenSail is Apache 2.0 and self-hosts cleanly. There are four supported install paths. This page is a router. Pick the path that fits your goal, then follow the dedicated guide.
Prefer a managed experience? tesslate.com runs OpenSail as a hosted service with zero setup.

Pick your path

Docker Compose

One command brings up the full stack on your laptop or a single VM. The fastest way to kick the tires. Best for local development and small teams.

Desktop App

Native Tauri v2 app with a built-in FastAPI sidecar and SQLite. No Docker, no cluster. Runs fully offline against local models.

Kubernetes (Minikube)

Full K8s pipeline on your machine: per-project namespaces, btrfs CSI volumes, Volume Hub, snapshots. Test the production path end to end.

AWS EKS

Production deployment via Terraform. EKS, ECR, managed Postgres, S3-backed CAS, wildcard TLS via cert-manager.

Decision matrix

You want to…Pick
Kick the tires in 10 minutesDocker Compose
Build on a single machine with no containersDesktop
Air-gapped install with OllamaDesktop or Docker
Serve a small team on one VMDocker Compose
Multi-tenant production with isolation and snapshotsAWS EKS
Validate the K8s pipeline before prodMinikube
Pair a local app to your own self-hosted cloudDesktop + AWS EKS

Prerequisites by path

RequirementNotes
Docker Engine + Compose v2Docker Desktop on macOS and Windows
8 GB RAM minimum16 GB recommended
10 GB free diskFor images and volumes
A model key or LiteLLM endpointBYOK OpenAI, Anthropic, OpenRouter, or point at local Ollama
GitFor cloning the repo

Core environment variables

Every path reads the same core variables. The full reference lives in Configuration.
VariableWhy it matters
SECRET_KEYJWT signing and Fernet encryption for stored credentials
DEPLOYMENT_MODEdocker, kubernetes, or desktop. Selects orchestrator, DB driver, queue, pub/sub
DATABASE_URLPostgres (cloud) or resolved SQLite (desktop)
LITELLM_API_BASE + LITELLM_MASTER_KEYAI gateway that fans out to providers
APP_DOMAINApex domain for routing, cookies, and OAuth redirects
OPENSAIL_HOMEDesktop only. Data directory for opensail.db, projects, and cache
Generate a secure SECRET_KEY:
python3 -c "import secrets; print(secrets.token_urlsafe(32))"

What you get after install

ComponentSource pathPurpose
Orchestratororchestrator/app/main.pyFastAPI backend, router registration, middleware
Agent runnerpackages/tesslate-agent/Agent loop, tool registry, context compaction, approval gates
Task queueorchestrator/app/services/task_queue/ARQ on Redis (cloud) or asyncio + apscheduler (desktop)
Pub/suborchestrator/app/services/pubsub/Redis Streams (cloud) or in-process (desktop)
Orchestrationorchestrator/app/services/orchestration/Per-project factory.py resolves Docker, Kubernetes, or local backends
Volume Hub clientorchestrator/app/services/volume_manager.pygRPC client to the Hub (K8s only)
Frontendapp/src/App.tsxReact 19, Vite, Monaco

Next steps

Docker setup

Full Docker Compose install with seeds and clean-slate reset.

Desktop install

Installers, cloud pairing, permission system, runtime selection.

Kubernetes on Minikube

End-to-end K8s locally including btrfs CSI and Volume Hub.

AWS production

Terraform, EKS, ECR, wildcard TLS, S3 CAS, managed Postgres.

Configuration reference

Every environment variable, grouped by subsystem.

Architecture

Orchestrator, agent runner, storage, queue, compute tiers.

Getting help

GitHub

Source, releases, and issue tracker.

Discord

Ask questions, share what you are building.

Agent runner

Deep dive on the tesslate-agent package.

Email

Direct support.