Building
Self-hosting
Run your bots on your own Linux server instead of the managed Bottly infrastructure.
By default your bots run on Bottly's managed infrastructure. If you prefer to host them on your own Linux machine, you can pair your server with one command.
Requirements
Setup
How it works
The background service (bottly-agent) polls Bottly for work, starts and stops bot containers, and pushes logs back. Your Discord token is fetched over an authenticated channel and stored locally with restricted permissions — it is never exposed in the installer script.
Troubleshooting
Requirements
A Linux server (Ubuntu, Debian, Fedora or similar) with root access.
At least 1 GB of memory and 5 GB of free disk space.
Outgoing internet access — no ports need to be opened.
Setup
Go to the [self-hosting page](/self-hosting) and sign in.
Generate a pairing code — it is single-use and expires after 10 minutes.
SSH into your server and paste the install command:
curl -fsSL https://bottly.xyz/api/public/hosting/install.sh | sudo bash -s YOUR-CODE
The installer sets up Docker, pulls the Bottly runtime and starts a background service.
Within a minute the machine shows as online in Bottly. Open a bot, go to Settings → Hosting, pick your server and save.
How it works
The background service (bottly-agent) polls Bottly for work, starts and stops bot containers, and pushes logs back. Your Discord token is fetched over an authenticated channel and stored locally with restricted permissions — it is never exposed in the installer script.
Troubleshooting
systemctl status bottly-agent — check if the service is running.journalctl -u bottly-agent -n 50 — recent agent logs.docker logs --tail 100 bottly-runtime — runtime container output (also visible on the bot's Logs page).If a pairing code expired, generate a new one and re-run the installer.