
Overview
OpenSail has three supported deployment paths. This page summarizes what each path is good for and links to the detailed walkthroughs. For the install-path decision matrix, see the self-hosting quickstart.Prefer a managed service? tesslate.com runs OpenSail for you with zero setup.
Pick your path
Docker Compose
Single-server install with Postgres, Redis, Traefik, the orchestrator, and the app in Compose. Best for dev laptops and single-VM deployments.
Kubernetes (Minikube)
Full Kubernetes pipeline on your own machine: per-project namespaces, btrfs CSI, Volume Hub, snapshots. The staging ground before production.
AWS EKS
Production deployment via Terraform. EKS, ECR, managed Postgres, S3-backed CAS, wildcard TLS, and Cloudflare DNS.
What each path gives you
Overview of each path
- Docker Compose
- Kubernetes (Minikube)
- AWS EKS (production)
The Compose stack brings up every service on a single host:
DEPLOYMENT_MODE=docker selects DockerComposeOrchestrator, which provisions per-project containers from .tesslate/config.json and wires them into the Traefik network.Start here: Docker setup guide.Shared operational surface
Regardless of path:- The orchestrator reads config from environment variables. See Configuration for the full reference.
- Agents run via the
tesslate-agentpackage (packages/tesslate-agent/), either inline (desktop, Docker) or under an ARQ worker (K8s). - Project volumes are provisioned through
orchestrator/app/services/volume_manager.py, which talks to the Volume Hub on Kubernetes or the local filesystem on Docker and desktop. - Authentication and RBAC are consistent across paths. See Authentication.
Next steps
Docker setup
Fastest path to a running OpenSail.
Kubernetes on Minikube
Full K8s locally to validate the production path.
AWS production
Terraform, EKS, RDS, S3, wildcard TLS.
Configuration
Env variable reference.