Skip to main content
Self-hosting means running Roomote on hardware or infrastructure you manage. That includes a computer at home, a homelab, a rented server, or a hosting platform such as Railway or Render. Install Roomote once, then open its dashboard in a browser from your Windows, macOS, or Linux computers. The host runs Roomote and, by default, the Docker sandboxes where agents work on your repositories. This guide covers installation on a public Linux server. If your host is on your home network, use Home network and homelab, which walks through preparing a computer and giving Roomote a reachable URL. Both paths continue to Run your first task.

Before you start

For a deployment that runs tasks on the same host, prepare: The installer sets up Docker and Compose when needed, the Roomote services, databases, generated secrets, HTTPS through Caddy, and the roomote host CLI. Choose a dedicated host with ports 80 and 443 available.
You can create the first administrator with email and password. Slack and other communications providers are optional; your first task can run entirely through the web dashboard.

1. Choose the matching installation path

If you are asking a coding agent to install Roomote, give it the agent installation guide.

2. Prepare the server’s URL

Choose a domain such as roomote.example.com. In your DNS provider, create these records, replacing the example address with your server’s public IPv4 address:
The first record is for the dashboard and provider callbacks. The wildcard record lets Roomote serve live task previews. Allow inbound TCP ports 80 and 443 in the server and hosting-provider firewalls so Caddy can obtain HTTPS certificates and serve requests. The records should point directly to your server; if you use Cloudflare DNS, select DNS only for these records. Check: Both records resolve to the server’s public address, and the firewalls allow ports 80 and 443. If your server is behind a home router or cannot accept inbound connections, follow the home-network guide before installing.
If the server has a directly reachable public IPv4 address and ports 80 and 443 are open, you can omit --domain from the install command below. The installer uses an automatic sslip.io hostname with HTTPS. This is a short evaluation option: the hostname depends on your IP address and shares certificate rate limits with other sslip.io users.A computer behind a home router still needs port forwarding or a tunnel. Follow Connect your home network to prepare a stable URL for that case.

3. Install Roomote

Open a terminal on the Linux host, or SSH into it. Install the small tools used by the installer:
Download and inspect the installer, then run it with your domain:
Press q to leave less. Replace roomote.example.com with the domain you prepared. The installer downloads the published Roomote images and starts the services. When it finishes, it prints a setup link for the first administrator. Keep this link private. Run:
Check: The services are healthy. Open the printed setup link in your browser and confirm that the page loads over HTTPS. To retrieve the link again, run sudo roomote setup-url in your terminal. If the page does not load, check the DNS records and ports from step 2, then inspect sudo roomote logs. More troubleshooting is in Operate a self-hosted deployment.

4. Complete setup and run your first task

Continue to Run your first task with the setup page open. That guide takes you through creating the administrator account, connecting inference and a repository, checking the sandbox provider, and running a small task with a result you can inspect. The Linux installer selects Docker for task execution. Follow the Docker checks in the first-task guide, including the storage requirements above. You can choose a hosted sandbox provider if you want task workloads to run elsewhere. Your getting-started path is complete when you can sign in, access your repository, run commands in a task sandbox, and inspect the result in the dashboard.

Day-2 operations

After the first task works, use Operate a self-hosted deployment for backups, restore, upgrades, rollback, and troubleshooting. The operator reference covers advanced Compose configuration and deployment settings.