RECIPE 11 · ENTERPRISE

Deploy to Your Cloud

xMesh deploys as a single container in your own cloud — daemon, cockpit, and agent minds together. Nothing installs on workstations. Nothing phones home. Your operators need a browser; your agents use your enterprise AI credentials.

Steps

01
Build from the recipe
You build the image yourself from a 40-line Dockerfile your security team can audit — we ship the recipe, not a binary. Building on your own infrastructure also gives you the right architecture (amd64/arm64) automatically.
FROM node:22-slim

RUN apt-get update \
 && apt-get install -y --no-install-recommends git ca-certificates curl \
 && rm -rf /var/lib/apt/lists/*

# The product, and the two CLI minds workers summon.
RUN npm install -g @sym-bot/xmesh @anthropic-ai/claude-code \
 && npm install -g @openai/codex || true

# The mesh's memory lives on volumes — the container is disposable, the cognition is not.
VOLUME ["/root/.xmesh", "/root/.sym"]

EXPOSE 8787
ENV NODE_ENV=production

# First start prints the operator passcode to the container log.
CMD ["xmesh", "start"]
docker build -t xmesh .
02
Run with your AI credentials
Agent minds inherit the container environment — set your enterprise model access once and every agent uses it. No individual AI accounts.
# Claude via Amazon Bedrock (billing and governance on your AWS account)
docker run -d -p 8787:8787 \
  -e CLAUDE_CODE_USE_BEDROCK=1 -e AWS_REGION=us-east-1 \
  -v xmesh-data:/root/.xmesh -v sym-data:/root/.sym \
  --name xmesh xmesh

# Claude via Vertex AI:   -e CLAUDE_CODE_USE_VERTEX=1 -e ANTHROPIC_VERTEX_PROJECT_ID=...
# Claude via org API key: -e ANTHROPIC_API_KEY=...
# GPT minds (optional):   -e OPENAI_API_KEY=...   (org-scoped key)
03
Verify the AI lane before the first token
Workers inherit the daemon’s environment, so the lane you set is the lane every mind speaks. Prove it: the self-test spins a local mock endpoint and costs nothing; --live sends one tiny real prompt through your env.
docker exec xmesh node /usr/local/lib/node_modules/@sym-bot/xmesh/scripts/verify-ai-lane.mjs
docker exec xmesh node /usr/local/lib/node_modules/@sym-bot/xmesh/scripts/verify-ai-lane.mjs --live
04
Open the cockpit
The first start prints the operator passcode to the container log (docker logs xmesh). Open http://<host>:8787, enter it once, and you are in — the mesh canvas, missions, earned trust, and OPS.
05
Drop in your license
xMesh is licensed per organization, seat-based. Your license is one signed line — offline-verified, self-expiring, no activation server. Evaluation licenses start their clock at first use, not at issuance.
docker exec xmesh sh -c 'echo "<your license line>" > /root/.xmesh/license'
# effective on the next request — no restart

What leaves your walls

Nothing. The mesh’s memory lives on your volumes; model calls go to the endpoints you configured (your Bedrock, your Vertex, your keys); the license verifies offline. There is no telemetry, no activation callback, no data path to us.

NEXT
A deployed mesh needs an owner: continue with Recipe 12 — Establish Your Trust Root.