Your own VPS
Turn a Linux server you already own into a bot's computer, reached through Docker over SSH.
Instead of Box, a bot's cloud computer can run on a Linux server you own. Murage reaches the server's Docker over SSH and gives each bot one managed container with a Linux desktop it can see and control.
The bot itself still runs on your computer. Only the desktop is on the server. Murage never runs an agent on the server, never opens a public port there, and never stores your SSH key or passphrase.
When to use it
Use it when you already pay for a server and want a remote desktop without a Box account. It costs nothing beyond your server bill.
Give bots a dedicated server. The SSH user must be in the server's docker group, and that is root-level access to the machine. Don't use a server that holds anything you wouldn't hand to a bot.
What you need
- On your computer: the
dockercommand-line tool, version 18.09 or newer. Docker doesn't need to be running locally. - On the server: x86_64 Linux with Docker running.
- The SSH user in the
dockergroup on the server, sodocker infoworks without sudo. - An SSH config alias for the server in your
~/.ssh/config(below). - An engine that can use it. Otherwise Murage says "This model engine cannot use a self-hosted VPS. Choose Claude or an ACP engine, or switch the cloud backend to Box."
Set up the SSH alias
Murage connects only through a named alias. Add a block like this to ~/.ssh/config, with your own server's details:
Host my-vps HostName 203.0.113.7 User deploy IdentityFile ~/.ssh/id_ed25519 ControlMaster auto ControlPath ~/.ssh/cm-%r@%h-%p ControlPersist 60m ServerAliveInterval 15 ServerAliveCountMax 3 ConnectTimeout 10
The connection-sharing lines keep each bot action fast. The keep-alive and timeout lines make a server that drops offline fail quickly instead of hanging the bot's turn.
Then connect once by hand, so the server's host key is saved on your terms:
ssh my-vps true
Murage never accepts an unknown host key for you.
Connect it in Murage
- Open Settings → Tools & Connections.
- Under Self-hosted VPS, type the alias (for example
my-vps) and choose Save. Only the alias name is saved. - Open the bot's chat, choose Bot's computer at the top, and pick Cloud under Runs on.
- Under Cloud backend, choose Self-hosted VPS.
- Choose Prepare VPS computer. The first time, Murage builds its desktop image on the server, which can take a few minutes.
Auto and waking up
A bot on Auto only reuses a VPS container that's already running and checked. To let Auto create or wake the container itself, turn on Start VPS automatically for that bot. It's off by default.
Use it
- Take control pauses the bot's hands and opens the container's desktop through a temporary SSH tunnel that only your own computer can reach. The tunnel closes with the viewer.
- Sleep stops the container. Its files stay. Start VPS computer wakes it again.
- After some Murage updates, the panel asks you to Replace VPS computer. This deletes files stored only inside the container.
Limits and guardrails
- One container per bot. Each is limited to 4 GB of memory, 2 CPUs and 512 processes, with no host folders mounted and no ports published.
- Murage checks the container before every use and refuses one that publishes ports, mounts host folders or is missing its memory, CPU and process limits.
- Treat the container's files as disposable. Move anything a bot must keep off the server before a replacement.
- Murage never deletes a container on its own. To remove one yourself, run
docker -H ssh://my-vps rm -ffollowed by the container name, which starts withmurage-vps-. - Firewall the server to SSH only, ideally from your own IP address. Nothing else needs to be open.
Troubleshooting
Check in this order, cheapest first:
ssh my-vps truereturns with no prompt. A password prompt means your key or agent isn't set up. A host-key prompt means you haven't connected by hand yet.docker -H ssh://my-vps infoprints server details. A permission error means the SSH user isn't in thedockergroup.
Then read the panel's message:
- "Configure a VPS SSH alias in App Settings → Connections": save the alias first.
- "Docker over SSH could not reach the VPS; check the SSH alias and Docker on the VPS": run the two checks above.
- "No Murage container exists for this bot on the VPS" or "The managed VPS computer is stopped": choose Prepare VPS computer or Start VPS computer, or turn on Start VPS automatically.
- "The VPS container name is occupied by a container Murage did not create": remove that container on the server yourself.
- "The VPS container uses an unapproved network or publishes ports; refusing to use it", or "...has host mounts...": Murage won't repair it. Remove it and prepare a new one.
- "This VPS computer belongs to an earlier Murage version": choose Replace VPS computer.
- "The VPS container started, but Cua Driver is not ready yet": wait a moment and try again.