Introduction
What Motion is, and how a self-hosted workspace connects to the hub.
Motion is a self-hostable AI dev workspace — a full IDE, terminal, git, and an AI agent running in a workspace you control, reachable from your browser.
The mental model
A Workspace is a self-contained dev runtime (IDE + daemon + agent). The Hub (
motionis.xyz) is the optional connective tissue that authenticates you, finds and connects your workspaces — whether Motion-provisioned or your own hardware — and gives them shared services.
A workspace works with or without the hub:
- Cloud workspace — Motion runs the container for you.
- Self-hosted workspace — the same software runs on your machine (VM, homelab, laptop) and dials home over an outbound tunnel, so it appears in your dashboard just like a cloud one.
Both are the same software; the only difference is how the hub reaches the daemon — directly (cloud) or over the tunnel (self-hosted).
What you can do
Quickstart
Connect a machine in one command and open the IDE.
Self-hosting
Docker or native — Linux, macOS, and Windows.
The motion CLI
Control and update a connected box from the command line.
Channels
Run your account from WhatsApp — commands, automations, screenshots, and proactive alerts.
Troubleshooting
Run motion doctor and fix common issues.
How a self-hosted box connects
Self-hosted machines are usually behind NAT, so the hub can't dial in. Instead
the box dials out: connect.sh (or connect.ps1 on Windows) starts the
workspace locally and opens an outbound WebSocket to the hub. The hub then
multiplexes HTTP and WebSockets (the terminal, file-watch) to your box's
daemon over that one connection. See Concepts for details.