Skip to content
c17 .ioJoin list

Stacks / Support

Medium

Element / Synapse

A messenger you host. Element is AGPL-3.0; Synapse is AGPL-3.0 — WhatsApp and Telegram without the vendor graph. Signal-server is not a self-host product for users.

The problem

WhatsApp and Telegram are vendor messengers. You wanted rooms and E2EE-capable clients on a homeserver you run. Element Web is AGPL-3.0 (element-hq/element-web). Synapse is AGPL-3.0 (element-hq/synapse — the maintained homeserver; matrix-org/synapse is archived). SimpleX Chat is already in the catalog if you want a messenger without user IDs. Rocket.Chat stays Slack-shaped (/replace/slack). This is not the WhatsApp or Telegram protocol, not every bridge, and not Signal. Do not deploy Signal-server and call it Signal — it is not a self-host product for users. Video rooms stay on /replace/skype (Jitsi).

Replaces

WhatsApp / Telegram

Replace WhatsApp Replace Telegram See all best open-source team chats

Estimated SaaS saved

$1,200

per year, small team, before lock-in

Start on Railway

Rocket.Chat if this is Slack-shaped team chat, not a personal messenger

Sponsor this stack Tip jar

Placeholder: Synapse + Postgres + a volume, Element as the client. Federation, TURN, and signing keys are real work. A single Railway service is often the wrong size. No one-click template in this repo yet — Start on Railway. Slack-shaped chat stays on /stacks/rocket-chat. Video stays on /stacks/meeting-pipeline.

The stack

Cost table

You stop payingTypical / yearSelf-host instead
WhatsApp / Telegram (household / small team)$1,200Synapse + Element

Agent setup prompt

Replace WhatsApp or Telegram with Matrix: Synapse (homeserver) + Element (client).

- Follow Element HQ Synapse docs. Persist Postgres and media. Create one room, talk from two clients. Do not promise WhatsApp/Telegram bridges on day one.
- Do not deploy Signal-server and call it Signal. SimpleX if you want no user IDs. Write AGENT_PROMPT.md.

Also as markdown: /stacks/matrix-messenger.md

FAQ

Why not Signal?
Signal-server is not a self-host product for users. This page does not claim it. Matrix/Element is the messenger you can actually run.
Is this WhatsApp's protocol?
No. You get Matrix rooms and Element clients. Bridges exist and are a separate, fragile job — do not promise them on day one.
Element or Rocket.Chat?
Element/Synapse if you are leaving WhatsApp/Telegram. Rocket.Chat if you are leaving Slack (/replace/slack).
Where is Skype?
Video rooms are Jitsi — /replace/skype and /stacks/meeting-pipeline.