Skip to main content
This is the shortest path to a working self-hosted AgentTeam Email instance. The full setup contract is in the self-host setup guide; use this page as the execution path once you understand the required inputs.
1

Choose a runtime

Use Docker Compose for a single-host install or Helm for Kubernetes.

Docker Compose

Run the stack from the repository root with docker compose.

Helm

Install the chart from the GHCR OCI artifact.
2

Prepare the admin instance

Configure the public hostname, admin Cloudflare OAuth app, service-level Cloudflare Worker, R2 archive bucket, internal service secrets, and optional admin transactional SMTP settings described in the setup guide.

Self-Host Setup

Required Cloudflare, Worker, R2, secret, SMTP, and first-domain setup requirements.
3

Expose the web server

Route the configured public hostname to the web server. The same origin serves the web app and POST /rpc/agent-mail/ingest/v1/{connectionPublicId}.

Public Ingress

Use direct ingress, Cloudflare Tunnel, Tailscale Funnel, or another operator-owned reverse proxy.
4

Start the stack

For Compose, start the containers:
For Helm, install or upgrade the release:
5

Sign in and provision a domain

Open the configured public hostname, sign in, connect Cloudflare through the web UI, select the mail zone, and let AgentTeam Email provision DNS, Email Routing, Worker state, and archive bindings for that domain.

Domain Provisioning

Domain setup is a signed-in user flow, not an admin environment-variable flow.
6

Validate the deployment

Check the health endpoint, verify the ingest route rejects unsigned requests, send test mail, and confirm the R2 archive objects and mailbox delivery.

Validation

Deployment checks for web, ingest, archive, inbound delivery, and outbound sending.