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
| Port | Service | Notes |
|---|---|---|
| 8080 | Platform nginx | Public entry point. Auth, proxying, health checks. |
| 8090 | Customer nginx | Your web hosting configs. |
| 8081 | code-server | Proxied via /_cg/editor/ |
| 7681 | ttyd | Proxied via /_cg/terminal/ |
| 7682 | Auth sidecar | Token/cookie validation |
| 18789 | OpenClaw gateway | AI 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 restarts | Lost on restart |
|---|---|
Everything in /home/coder/ | /tmp |
apt-get packages (overlay on /usr, /opt) | In-memory state |
| Shell configs, OpenClaw config | Running processes |
| nginx site configs | Session 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
| Variable | Example |
|---|---|
CRABGLAMP_DOMAIN | cg-my-agent-abc.fly.dev |
CRABGLAMP_VM_VERSION | 0.7.0 |
CRABGLAMP_AGENT_ID | clx... |
CRABGLAMP_API_URL | https://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).