Self-host metronome
v4.0.5Lightweight XMPP server with microblogging features
- Stars
- 176
- Port
- 3478 (STUN/TURN for Jingle)
- Requires
- GNU Libidn, Libevent, Lua, Lua-event, LuaExpat, LuaFileSystem, LuaSocket, OpenSSL
What is metronome?
Metronome IM is a lightweight XMPP server that began as a Prosody fork in 2012. It offers a complete XMPP implementation with microblogging (XEP-0277), Multi-User Chat, Publish-Subscribe, HTTP file upload, BOSH and WebSocket support, stream management, and message archiving (MAM). Written in Lua, it uses libevent as its sole backend with a hard dependency on lua-event. Users can compile it from source on Linux or install via the Arch Linux AUR package. The software powers the LW.Org public IM platform and served as the default XMPP server in YunoHost. It meets the XMPP Compliance Suites 2020 Advanced Server level across Core, Web, IM and Mobile categories.
Should you self-host metronome?
metronome scores 47/100 on selfhost.directory (how scoring works) and ranks #61 of 110 in Chat. It has 176 GitHub stars.
It shipped 8 stable releases in the past year. The latest, v4.0.5, came out on 27 November 2025.
Setup is advanced: plan for several services and some ongoing maintenance. It is Other-licensed and written mostly in Lua.
Its closest alternative on selfhost.directory is Zulip (82/100, 26 133 stars). It scores higher overall, so compare the two before you pick. See metronome vs Zulip side by side.
Features
- Bidirectional S2S
- BOSH Support
- Daemon Control Utility
- Direct TLS S2S
- HTTP API
- HTTP File Upload
- In-Band Registration
- Message Archive Management (MAM)
- Microblogging over XMPP
- Multi-User Chat (MUC)
- Publish-Subscribe (PubSub)
- SPIM Prevention
- Stream Management
- Websocket Support
- XMPP Server
metronome README
More in Instant Messaging
MongooseIMMongooseIM is a self-hosted, open-source XMPP server built for massive scale and enterprise use, supporting clustering, multi-tenancy, and multiple auth methods.
MovimOpen-source, self-hosted web front-end for the XMPP network: chat, chatrooms, blogging, communities, stories and video calls in one interface.
OpeniLink HubSelf-hosted WeChat Bot platform (iLink) with 20+ app integrations. Multi-bot management, WebSocket/Webhook/AI routing, message tracing, Passkey auth.
PidginSelf-hosted Docker container running Pidgin instant messenger with XMPP, IRC, Discord, Telegram, and more, accessed via a browser-based desktop interface.
pocketpawSelf-hosted, open-source AI agent with a web dashboard and native desktop app, reachable over Telegram, Discord, Slack or WhatsApp, with swappable LLM backends.
Prosody IMProsody is a modern, lightweight, and extensible XMPP/Jabber server written in Lua, designed for easy setup, efficient resource usage, and federation with other XMPP services.
RevoltA self-hosted, open-source group chat app for communities offering servers, channels, calls, file uploads, and themes — a Discord alternative you fully control.
Rocket.ChatSelf-hosted, open-source chat platform for teams and citizens: channels, threads, voice and video, end-to-end encryption, LDAP/SSO, and Matrix federation.
sharkordOpen-source, self-hosted chat with voice, video, and screen sharing for small groups. Runs as a single binary or Docker container, no external database needed.
Signal-APISelf-hosted, open-source Docker container that wraps signal-cli as a REST API, so scripts can register a Signal number and send, receive and manage messages.
SimpleX ChatOpen-source messenger without user IDs: E2E encrypted chats, groups, calls and files, with mobile, desktop and terminal clients and self-hosted relay servers.
SoketiOpen-source WebSocket server that speaks Pusher Protocol v7, self-hosted via Docker, npm or Helm, with app credentials in arrays, MySQL, Postgres or DynamoDB.
0 comments