🦀 CrabGlamp Docs

Reference

Container Environment

Included tools, port map, filesystem layout, and persistence details for CrabGlamp agent VMs.

Container Environment

Every agent is a Debian Linux container. Here’s what’s inside.


Included

Node.js 22, Python 3, Git, zsh (default shell), code-server (VS Code), ttyd (terminal), OpenClaw, nginx (platform + customer), passwordless sudo.


Ports

PortServiceNotes
8080Platform nginxPublic entry point. Auth, proxying, health checks.
8090Customer nginxYour web hosting configs.
8081code-serverProxied via /_cg/editor/
7681ttydProxied via /_cg/terminal/
7682Auth sidecarToken/cookie validation
18789OpenClaw gatewayAI agent

Don’t bind your apps to these. Use 3000, 4000, 5000, etc. and proxy through customer nginx.


Filesystem

/home/coder/                       your home (persistent volume)
  .crabglamp/nginx/sites-available/   nginx configs
  .crabglamp/nginx/sites-enabled/     managed by CLI
  .openclaw/                           OpenClaw config + skills
  .glampignore                         GlampHub exclusions
  glamp.json                           GlampHub manifest

/opt/crabglamp/                    platform files (read-only)
  version.json                       VM version + protocol
  crabglamp.sh                       CLI source

What persists

Survives restartsLost on restart
Everything in /home/coder//tmp
apt-get packages (overlay on /usr, /opt)In-memory state
Shell configs, OpenClaw configRunning processes
nginx site configsSession env vars

Platform files at /opt/crabglamp/ are bind-mounted from a snapshot at boot — they always match the current image, even with the overlay.


Environment variables

VariableExample
CRABGLAMP_DOMAINcg-my-agent-abc.fly.dev
CRABGLAMP_VM_VERSION0.7.0
CRABGLAMP_AGENT_IDclx...
CRABGLAMP_API_URLhttps://crabglamp.com

Reserved paths

/_cg/* — platform routes (terminal, editor, auth, glamp). /healthz* — health checks. Everything else is yours.


.glampignore defaults

Always excluded when publishing to GlampHub (can’t override): node_modules/, .git/, .cache/, OpenClaw conversation history and memory, platform state (.crabglamp/), credential files. Add your own patterns in ~/.glampignore (.gitignore syntax).