Skip to content

Guides

Bots & workers

Run Discord, Telegram, Slack and other bots on your VPS today — the honest, container-native path.

Updated Edit this page on GitHub

There is no separate 'bot wizard' in v1.0 — and we will not pretend otherwise. Bots are long-running processes, and the panel already runs those well as apps. Here is the real, working path:

Option 1 · Public bot image

  1. 1Apps → Deploy from Git and point it at your bot's repository (a Dockerfile that installs requirements.txt / package.json and starts the bot).
  2. 2Set the token as an environment variable (e.g. DISCORD_TOKEN, TELEGRAM_BOT_TOKEN) — the env editor masks secret values.
  3. 3Start it. Use Logs to watch it connect, Actions to restart, and the crash exit code is shown on the app.

Option 2 · Any registry image

If your bot ships as a Docker image, deploy it via the Git/compose flow with image: set — the compose editor lets you set the image, env, restart policy and resource limits directly.

Keeping bots alive

  • Set restart: unless-stopped in the compose file so the bot survives reboots and crashes.
  • Keep tokens out of the code — env vars only; the panel stores them encrypted at rest.
  • Watch resource usage per app; bots are usually tiny.