Prerequisites
- Docker Engine with Compose — for the Postgres, Redis, and artifact storage containers (Docker Desktop on macOS also works). x86_64 and arm64 are both supported; on Apple Silicon the task worker builds and runs natively, with no amd64 emulation.
- mise — manages the repository toolchain (Node.js, pnpm, and friends).
- OpenCode CLI — provides the
opencodebinary used to run tasks (npm install -g opencode-ai). - A public HTTPS URL — set
R_PUBLIC_URLto a URL that reaches local port 13000. An ngrok domain, Cloudflare Tunnel, Tailscale Funnel, or your own domain works. Install ngrok only when you use an ngrok domain.
Install and run
pnpm dev starts all services locally under PM2 supervision: it prepares
service code, resolves your public callback URL, starts Postgres, Redis, and
MinIO if needed, builds the local worker release archive, and starts the
Roomote services.
The public development edge also proxies signed artifact-storage paths to
local MinIO. Hosted compute providers such as E2B, Modal, Daytona, and Box can
therefore upload screenshots and other artifacts without direct access to your
machine’s localhost ports. An explicit S3_PRESIGN_ENDPOINT continues to take
precedence when you use separate object storage.
pnpm dev requires the public HTTPS URL even when you only plan to use the
dashboard, because the development stack resolves callback and artifact URLs
during startup.
Useful process-management commands: