* Add Cursor Cloud Agent Docker environment Co-authored-by: Cursor <cursoragent@cursor.com> * Fix Cloud Agent enterprise and Docker access Co-authored-by: Cursor <cursoragent@cursor.com> * Fix Cloud Agent Go path setup Co-authored-by: Cursor <cursoragent@cursor.com> * Use Cursor multi-repo enterprise checkout Co-authored-by: Cursor <cursoragent@cursor.com> * Use sibling enterprise checkout layout Co-authored-by: Cursor <cursoragent@cursor.com> * Add tmux to Cloud Agent image Co-authored-by: Cursor <cursoragent@cursor.com> * Document Mattermost cloud startup flow Co-authored-by: nick.misasi <nick.misasi@mattermost.com> * Document Mattermost license behavior in cloud Co-authored-by: nick.misasi <nick.misasi@mattermost.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com>
Cursor Cloud Agent Environment
This directory defines the checked-in Cloud Agent environment for this repository. Cursor resolves .cursor/environment.json before personal or team saved environments, so this replaces the snapshot-dependent /onboard flow for agents started from this repo.
The Docker build context is .cursor/ only. The Dockerfile intentionally does not copy the repository; Cursor checks out the requested commit at runtime.
What Is Baked Into The Image
- Ubuntu 24.04.
- Docker CE 28.5.2 with
fuse-overlayfsandiptables-legacy, matching Cursor's Docker-in-Cloud guidance for complex compose setups. - Go 1.25.9 from
server/.go-version. - Node 24.11.1/npm 11 via nvm, matching
.nvmrcandwebapp/package.json. agent-browser@0.27.0and browser dependencies for screenshot workflows.- AWS CLI v2 for S3 uploads.
- Common Mattermost build/test tools:
make,jq,xmlsec1,pgloader, Git LFS, GitHub CLI, Python 3, and build essentials.
Runtime Hooks
cloud-agent-install.shruns after Cursor checks out the repo. It refreshes nvm, installs agent-browser browsers, verifies Cursor's multi-repomattermost/enterprisecheckout, runsserverGo dependency hydration, installs webapp dependencies, and runs Playwrightnpm ci.cloud-agent-start.shmaterializes.cursor/cursor.mdas.cursor/AGENTS.md, fixes current-session Docker socket access, then starts Docker and waits untildocker infoanddocker compose versionsucceed.
The environment declares github.com/mattermost/enterprise in repositoryDependencies so Cursor can provide it as part of the multi-repo workspace. Cursor currently clones the repositories as siblings, such as /agent/repos/mattermost and /agent/repos/enterprise, which matches server/Makefile's default ../../enterprise path. The install hook does not clone, pull, or symlink enterprise.
Useful Skips
Set these environment variables to true to shorten startup for narrow tasks:
CLOUD_AGENT_SKIP_ENTERPRISECLOUD_AGENT_SKIP_GO_DEPSCLOUD_AGENT_SKIP_WEBAPP_DEPSCLOUD_AGENT_SKIP_PLAYWRIGHT_DEPSCLOUD_AGENT_SKIP_AGENT_BROWSER_INSTALL
Expected Secrets
- AWS uploads use the standard AWS CLI environment variables provided to the Cloud Agent:
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY, andAWS_S3_BUCKET_NAME. The image only supplies theawsbinary.