DevOps
exe-dev
Manage persistent VMs on exe.dev.
---
name: exe-dev
description: Manage persistent VMs on exe.dev. Create VMs, configure HTTP proxies, share access, and set up custom domains. Use when working with exe.dev VMs for hosting, development, or running persistent services.
author: Benjamin Jesuiter
---
> β οΈ **Warning:** This skill was auto-built by clawdbot from the exe.dev markdown documentation. It's not tested yet β use with caution! I plan to test it soon. π
# exe.dev VM Management
## Quick Commands
| Task | Command |
|------|---------|
| List VMs | `ssh exe.dev ls --json` |
| Create VM | `ssh exe.dev new` |
| Make public | `ssh exe.dev share set-public <vm>` |
| Change port | `ssh exe.dev share port <vm> <port>` |
| Add user | `ssh exe.dev share add <vm> <email>` |
| Share link | `ssh exe.dev share add-link <vm>` |
## Access URLs
- **VM**: `https://<vmname>.exe.xyz/`
- **Shelley agent**: `https://<vmname>.exe.xyz:9999/`
- **VSCode**: `vscode://vscode-remote/ssh-remote+<vmname>.exe.xyz/home/exedev`
## Proxy Configuration
Default port is auto-selected from Dockerfile EXPOSE. Change with:
```bash
ssh exe.dev share port <vmname> <port>
```
Access ports 3000-9999 via `https://vmname.exe.xyz:<port>/`
## Authentication Headers
When users authenticate via exe.dev:
- `X-ExeDev-UserID` β user identifier
- `X-ExeDev-Email` β user email
For testing, use mitmproxy to inject headers:
```bash
mitmdump --mode reverse:http://localhost:8000 --listen-port 3000 \
--set modify_headers='/~q/X-ExeDev-Email/[email protected]'
```
## Custom Domains
- **Subdomains**: CNAME `app.example.com` β `vmname.exe.xyz`
- **Apex**: ALIAS `example.com` β `exe.xyz` + CNAME `www` β `vmname.exe.xyz`
## Full Reference
See [references/exe-dev-vm-service.md](exe-dev-vm-service.md) for complete documentation including pricing, Shelley agent setup, SSH key config, and FAQ.
devops
By
Comments
Sign in to leave a comment