Your own VPS
Turn a Linux server you already own into a bot's computer, reached through Docker over SSH.
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.
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 it up
Step 1
Add 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.
You're done when: the block is saved in ~/.ssh/config.
Step 2
Connect once by hand
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.
You're done when: the command returns with no prompt.
Step 3
Save the alias in Murage
- Open SettingsTools & Connections.
- Under Self-hosted VPS, type the alias (for example
my-vps) and choose Save. Only the alias name is saved.
You're done when: the alias shows under Self-hosted VPS.
Step 4
Choose the VPS for the bot
- 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.
You're done when: Cloud backend shows Self-hosted VPS.
Step 5
Prepare the computer
Choose Prepare VPS computer. The first time, Murage builds its desktop image on the server, which can take a few minutes.
You're done when: the desktop is ready on the server.
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.
- Checked every time. 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.
- Disposable files. Treat the container's files as disposable. Move anything a bot must keep off the server before a replacement.
- Removal is yours. 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-.
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:
You see
Configure a VPS SSH alias in App Settings > ConnectionsDo this
Save the alias first.
You see
Docker over SSH could not reach the VPS; check the SSH alias and Docker on the VPSDo this
Run the two checks above.
You see
No Murage container exists for this bot on the VPSDo this
Also shown as "The managed VPS computer is stopped". Choose Prepare VPS computer or Start VPS computer, or turn on Start VPS automatically.
You see
The VPS container name is occupied by a container Murage did not createDo this
Remove that container on the server yourself.
You see
The VPS container uses an unapproved network or publishes ports; refusing to use itDo this
Also shown for "...has host mounts...". Murage won't repair it. Remove it and prepare a new one.
You see
This VPS computer belongs to an earlier Murage versionDo this
Choose Replace VPS computer.
You see
The VPS container started, but Cua Driver is not ready yetDo this
Wait a moment and try again.