Running in about fifteen minutes.
Two halves: the server once, then the agent on every machine you want to see. Do them in that order — the agent needs a key the server issues.
Once, on the machine you will keep.
You need Node and PostgreSQL. Anywhere they both run is fine — a small VPS is plenty.
1. Create the database
$ createdb dialout2. Get the code and its dependencies
$ git clone https://github.com/indianic/dialout.git && cd dialout && npm install3. Configure it
Copy the example environment file and set two values: DATABASE_URL and JWT_SECRET. Everything else is optional.
$ cp .env.example .env4. Create the schema
$ npm run db:push5. Start it
$ npm run devOpen http://localhost:50051, register, and enrol two-factor. Two-factor is mandatory and enforced by the API, not just the interface — there is no way to skip it.
The agent, on everything you want to see.
First, in the dashboard: Settings → Machines → add a machine. It gives you a key starting mch_. Keep it — it is shown once.
1. Install it
$ npm install -g @dialout/agent2. Point it at your server
$ dialout-agent init3. Run it as a service
$ dialout-agent install-service4. Confirm
$ dialout-agent statusThe machine turns green in the dashboard. If you get a 401, the key is not registered on the server — re-add the machine and run init again. It does not mean the agent is misconfigured.
Two things worth doing next.
Scan for projects
Point the scanner at a folder tree and it finds the projects you never registered. Scan a port range and it tells you what is already answering.
Wire up cowork
dialout-agent setup-cowork writes a guarded block into your shell rc, so a terminal you open normally joins the same tmux session the browser attaches to.