selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

botmux logo

Self-host botmux

v0.2.1

Telegram bot dashboard with reverse proxy and AI routing

BetaOpen SourceApache-2.0
Updated3 months ago
LanguageGo
Setup difficultyEasy
MobileResponsive
ThemeDark mode
Stars
26
CPU
1 core
RAM
20-30 MB
Storage
~16 MB (binary) + SQLite DB
Port
8080 (HTTP web UI and REST API)
Docker
ghcr.io/skrashevich/botmux
Install with Docker
BotMux Dashboard showing multi-bot overviewMessages view with real-time message feed and searchAnalytics page with activity charts and contributor leaderboardBot configuration and detail pageLogin page with authentication

What is botmux?

BotMux is a self-hosted web tool that lets you control multiple Telegram bots from one dashboard. It handles the polling loop and can push updates to legacy webhook backends or let other services pull updates via a compatible API. You can route messages between bots using text patterns, user IDs, chat IDs, or natural-language rules processed by an LLM. It also bridges Slack and generic webhooks into Telegram, shows messages in real time with search and media previews, provides analytics charts and an audit trail, and lets admins broadcast, pin, delete, or ban. The whole thing runs as a single Go binary with SQLite storage, no external database needed, and uses cookie sessions or API keys for login.

Should you self-host botmux?

botmux scores 40/100 on selfhost.directory (how scoring works) and ranks #85 of 110 in Chat. It has 26 GitHub stars.

It shipped 9 stable releases in the past year. The latest, v0.2.1, came out on 1 July 2026. New versions land roughly every 6 days.

Setup is easy: most people get it running in one sitting. An official Docker image is available. It is Apache-2.0-licensed and written mostly in Go.

Its closest alternative on selfhost.directory is Zulip (82/100, 26 131 stars). It scores higher overall, so compare the two before you pick. See botmux vs Zulip side by side.

Features

  • Admin actions
  • Analytics & audit log
  • API Proxy
  • Authentication & RBAC
  • Inter-bot routing
  • Internationalization
  • LLM smart routing
  • Long polling (pull mode)
  • Media rendering
  • Message monitoring
  • Multi-bot management
  • Protocol bridges
  • Reverse proxy (push mode)
  • Source-NAT return path
  • User tags

botmux README

How to install botmux

Install botmux with Docker

Docker Engine
Environment variables
TELEGRAM_BOT_TOKEN

$ docker run -d -p 8080:8080 -v botmux-data:/data -e TELEGRAM_BOT_TOKEN="TOKEN" ghcr.io/skrashevich/botmux:latest

Open http://localhost:8080

Login: admin / admin

Recommended method

How to configure botmux

  • -addr:8080Listen address

    Listen address

  • BOTMUX_ALLOW_AUTO_REGISTER0Set to 1 to allow the API proxy's setWebhook interception to auto-register unknown bot tokens

    Set to 1 to allow the API proxy's setWebhook interception to auto-register unknown bot tokens

    values: 0, 1

  • BOTMUX_STRICT_WEBHOOK0Set to 1 to require HTTPS for all webhook URLs, including loopback addresses

    Set to 1 to require HTTPS for all webhook URLs, including loopback addresses

    values: 0, 1

  • -dbbotdata.dbSQLite database path

    SQLite database path

  • -demofalseEnable demo mode

    Enable demo mode

    values: true, false

  • DEMO_MODEfalseSet to true for demo mode

    Set to true for demo mode

    values: true, false

  • TELEGRAM_API_URLCustom Telegram API base URL

    Custom Telegram API base URL

  • TELEGRAM_BOT_TOKENTelegram bot token

    Telegram bot token

  • -tg-apiCustom Telegram API URL

    Custom Telegram API URL

  • -tokenBot token (or TELEGRAM_BOT_TOKEN)

    Bot token (or TELEGRAM_BOT_TOKEN)

  • -webhookWebhook URL for receiving updates

    Webhook URL for receiving updates

botmux releases & version history

More in Dashboard

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…