Public API URL used for generated agent installers and shareable links. The bundled docker-compose.yml derives this from BREEZE_DOMAIN. If you use a custom compose file, you must set PUBLIC_API_URL in .envand map it into the api service environment: block, or Generate Link / Download Installer will fail with Server URL not configured.
API_URL
—
Legacy fallback for PUBLIC_API_URL, honored only by enrollment, installer, and MCP-invite code paths. Auto-update, dev-push, and a few other routes read PUBLIC_API_URL only — prefer setting PUBLIC_API_URL.
BREEZE_DOMAIN
—
Yes (prod)
Domain for Caddy TLS provisioning
ACME_EMAIL
—
Yes (prod)
Email for Let’s Encrypt certificate notifications
CORS_ALLOWED_ORIGINS
—
Comma-separated allowed CORS origins
IS_HOSTED
—
Yes (prod)
true for hosted SaaS edition, false for self-hosted. Must be set explicitly — the API refuses to boot otherwise. Controls signup gating, billing, and email-verification policy.
TRUST_PROXY_HEADERS
—
Yes (prod)
true when behind a reverse proxy (Caddy, Cloudflare). Must be set explicitly in production.
TRUSTED_PROXY_CIDRS
—
When TRUST_PROXY_HEADERS=true
Comma-separated CIDRs of trusted reverse proxies (e.g., 10.0.0.0/8,172.16.0.0/12). Required when proxy headers are trusted.
Download source: local (serve from disk, optional S3) or github (redirect to GitHub Releases)
AGENT_BINARY_DIR
./agent/bin
Local directory containing agent binaries
VIEWER_BINARY_DIR
./viewer/bin
Local directory containing viewer installers
HELPER_BINARY_DIR
/data/binaries/helper
Local directory containing helper binaries
BINARY_VERSION_FILE
—
Path to VERSION file for local mode DB registration (set automatically in Docker Compose)
BINARY_VERSION
—
Release tag for GitHub redirect mode (falls back to BREEZE_VERSION, then latest)
RELEASE_ARTIFACT_MANIFEST_PUBLIC_KEYS
—
Yes (prod)
Comma-separated base64 SPKI of the Ed25519 keys that sign release manifests. The API refuses to start in production without it. BREEZE_RELEASE_ARTIFACT_MANIFEST_PUBLIC_KEYS is accepted as an alias.
See Binary Distribution for details on local vs GitHub mode and S3 offloading.
The Breeze stack includes a coturn TURN server for WebRTC relay. Without TURN, remote desktop connections fail when either peer is behind symmetric NAT or a restrictive firewall.
Variable
Default
Required
Description
TURN_HOST
—
Yes (prod)
Public IP or hostname of the TURN server. Must be reachable by agents and viewers.
Both API and web Sentry integrations are off by default. Leave the DSN variables blank to disable. See Error Tracking & Privacy for what gets collected and how scrubbing works.
Variable
Default
Description
SENTRY_DSN
—
API Sentry DSN. Leave blank to disable server-side error tracking.
SENTRY_ENVIRONMENT
production
Sentry environment tag
SENTRY_RELEASE
—
Sentry release tag (e.g. git SHA)
SENTRY_TRACES_SAMPLE_RATE
0.1
Sentry performance trace sample rate (0.0-1.0)
PUBLIC_SENTRY_DSN_WEB
—
Web Sentry DSN. Leave blank to disable browser error tracking and on-error session replay. Inlined into the web bundle at build time.
SENTRY_AUTH_TOKEN
—
Sentry auth token used during the web build to upload source maps. If unset, source map upload is skipped and the build still succeeds.
Two rate-limit tiers protect the API. The generic per-user limit covers logged-in dashboard usage; the per-org agent limit caps how much traffic a single tenant’s fleet can generate, even with thousands of agents.
Variable
Default
Description
RATE_LIMIT_WINDOW_MS
60000
Sliding window duration (ms)
RATE_LIMIT_MAX_REQUESTS
100
Max requests per window
AGENT_ORG_RATE_LIMIT_PER_MIN
600
Per-organization sliding-window rate limit on agent-authenticated endpoints. Returns 429 with Retry-After: 60 when exceeded. Sized for ~5 active agents per org; raise for MSPs with very large fleets.
Maximum postgres-js connection pool size. Tune up if you see cascading 504s during heartbeat storms; confirm Postgres max_connections has headroom (default 100 is fine for a single API replica).
Azure AD app (client) ID for multi-tenant M365 backup. When set with the secret below, enables one-click admin consent flow for connecting Microsoft 365 backups.
C2C_M365_CLIENT_SECRET
—
Azure AD app client secret for multi-tenant M365 backup