Deployment Overview
Developer Reference
This page covers internal implementation details. It is not included in the User Guide.
Escher consists of a local desktop app and a set of server-side services. This section covers deploying the server-side components.
Components to deploy
| Component | Language | Deployment unit |
|---|---|---|
| Gateway | Java (Quarkus) | Docker container / ECS task |
| Analysis Agent | Go | Docker container / ECS task |
| Context Engine | Python (FastAPI) | Docker container / ECS task |
| Asset Store | Python (FastAPI) + SurrealDB | Docker container / ECS task |
| Playbook Agent | Go | Docker container / ECS task |
| Autoresolver | Java (Quarkus) | Docker container / ECS task |
The desktop app (v2-desktop-app-tauri) is distributed as a signed binary — it is not deployed as a server.
Deployment options
| Option | When to use |
|---|---|
| Docker Compose | Local development, single-machine deployment |
| ECS | AWS production deployment, auto-scaling |
| CI/CD | Automated deployments via v3-escher-deployment pipeline |
Infrastructure owned by Escher (server-side)
The server components do not store customer cloud estate data. They are stateless between requests. The only persistent server-side state is:
- Context Engine collections (registered skills, agents, tools) — in Asset Store / SurrealDB
- Agent authoring session state (transient, short TTL)
Customer cloud credentials and estate data never reach the server.
Next steps
- Docker Compose — Local setup for development
- ECS — Production AWS deployment
- CI/CD — Deployment pipeline