Overview
The supported private deployment runs on one Linux VM with Docker Compose. It starts the control plane, the WebUI, PostgreSQL, Redis and Caddy (automatic TLS). The control plane creates one sandbox container and one persistent volume per employee.This page is for company-hosted deployments with OIDC SSO and central audit. For personal use, use the Desktop App or Local Deployment.
Architecture
- Caddy terminates TLS and routes
/api,/proxy,/ws,/llm-relay,/tool-relay,/tunnel-relay,/vncto the control plane; everything else goes to the WebUI. - The control plane uses the host Docker socket to create sandboxes and proxies WebSocket/HTTP traffic to them.
- PostgreSQL stores control-plane data; each sandbox keeps its workspace and memory in a Docker volume.
Prerequisites
- Ubuntu 22.04/24.04, 8 vCPU / 16 GB RAM
- Docker 24+ with Compose v2
- A DNS record for your domain; ports 80/443 reachable
- OIDC identity provider (Okta, Entra ID, Keycloak, etc.)
- Signed enterprise license JWT and the vendor public key
- Optional:
runsc(gVisor) on the host for stronger sandbox isolation
Quick start
DOCKER_GID is the group id of the host Docker socket:
docker. If runsc is installed, set MYRM_CP_RUNTIME=docker_gvisor in .env.
Configuration
The OIDC redirect URI is:
First administrator and organization
- Sign in once through OIDC.
-
Create the organization owned by that user:
-
Put the printed
owner_user_idintoMYRM_CP_ADMIN_USER_IDSin.envand restart the control plane:
Using an existing reverse proxy
Caddy is optional: it runs under thecaddy Compose profile (COMPOSE_PROFILES=caddy in .env). If you already run Nginx/ALB on the same host, remove that line and route:
Terminate TLS at your proxy; keep the CP API port private.
Operations
cp-data + SHA256 + retention):
--yes flag; test it on a fresh VM before switching traffic.
Scope and limits
- Single VM only. No HA, clustering or multi-region failover.
- Small teams; benchmark with your workload before rollout and size up or split by team as needed.
- OIDC only. SAML and SCIM are not part of this deployment.
- No BYOK/KMS or air-gapped mode.
- Linux only (the sandbox runtime uses the host Docker daemon).
- Supported OS: Ubuntu 22.04/24.04 with Docker from the official repository.
Security notes
- Mounting the Docker socket gives the control plane host-level container control. Restrict SSH and Docker access to trusted administrators.
- Sandboxes drop privileges and unnecessary capabilities, and enforce CPU/memory/PID limits. Docker security options add seccomp/AppArmor. Install
runscand usedocker_gvisorwhen stronger isolation is required. - Each employee has a separate sandbox and volume. Administrators can review audit events and usage; configure retention and access according to company policy.
- Keep
.envout of version control and rotate the JWT/master keys only with a planned migration.