synapse
Synapse: Matrix homeserver written in Python/Twisted.
⭐ 12,075 stars on GitHub · 🍴 2,119 forks · 📜 License: apache-2.0 · 💻 Language: Python
What is synapse?
Self-hosted Matrix chat is the strongest open alternative to Slack, Discord, and Teams when you need federation, end-to-end encryption, and control over your own identity domain. Synapse is the reference-grade Matrix homeserver: mature, widely deployed, and configurable enough for serious production use.
Main components
- Matrix homeserver for hosting users, rooms, messages, media, and account data.
- Federation support for communicating with other Matrix servers across the open network.
- End-to-end encrypted messaging, VoIP, and real-time communication via the Matrix protocol.
- Client-server APIs for Matrix apps such as Element and other compatible web, desktop, and mobile clients.
- PostgreSQL-backed deployment model suitable for persistent multi-user installations.
- Flexible configuration for registration, federation, reverse proxies, TLS, media handling, and server policy.
- Docker images and Debian packages for predictable self-hosted deployment and upgrades.
Clear use cases
- Run a private organization chat system while still allowing federation with external Matrix users.
- Host a community chat server that is not locked into Discord, Slack, or a single vendor account system.
- Provide secure team messaging with end-to-end encryption across web, desktop, and mobile clients.
- Give a company, lab, school, or collective its own Matrix identity namespace such as
@user:example.org. - Build an interoperable communications layer for bots, bridges, notifications, and custom Matrix integrations.
The biggest strength is open federation with real self-hosting control — you own the homeserver, user identities, retention policies, integrations, and operational boundaries while still participating in a wider communication network. Compared with commercial team chat platforms, Synapse trades turnkey convenience for protocol independence: you are not renting a silo, you are operating part of an open messaging network. That matters most when portability, compliance, vendor avoidance, or long-term digital sovereignty are more important than a polished admin dashboard.
Synapse is not the lightest Matrix server, and running it well means treating it like real infrastructure: PostgreSQL, TLS, reverse proxying, upgrade notes, monitoring, and careful domain separation for security. The project has also moved active maintenance to Element’s repository, so new deployments should follow the current Element-maintained Synapse documentation and packages rather than assuming the old Matrix.org repo is the main development home.
Best for sysadmins, platform teams, communities, and organizations that want a production-proven self-hosted Matrix server with federation and encryption, and are comfortable operating a Python/PostgreSQL service behind a proper reverse proxy.
Topics: the project is tagged with popular topics:
- 🏷️
matrix-org - 🏷️
python - 🏷️
self-hosted
Quick install
See the README for detailed install instructions. Most projects support Docker — if the repo has a Dockerfile, use:
git clone https://github.com/matrix-org/synapse.git
cd synapse
docker build -t synapse .
docker run -d -p 8080:8080 synapse
Minimum system requirements
| Component | Recommended |
|---|---|
| RAM | 2048 MB |
| CPU | 2 vCPU |
| Disk | 25 GB SSD |
| OS | Ubuntu 22.04 LTS / Debian 12 |
| Docker | 24.0+ |
⚡ Deploy fast on VSIS
Use the VSIS VPS Lite 2GB RAM / 2 vCPU / 25GB SSD (~104k/tháng) plan from VSIS.NET — high-speed VN-based VPS, 24/7 support, ideal for running synapse smoothly.
🎯 Benefits:
- One-command
docker compose up -ddeploy in 2 minutes - Dedicated IPv4, root access, unmetered domestic bandwidth
- Daily snapshot backup
- Free install assistance from the VSIS team
👉 See matching VPS plans at vsis.net
Resources
- 🔗 GitHub: matrix-org/synapse
- 🌐 Homepage: https://matrix-org.github.io/synapse
- 📚 Official docs: see README in the repo
- 💬 Community: GitHub Issues + Discussions
Article compiled from GitHub data on 05/05/2026. Star/fork counts may have changed — see live numbers via the GitHub link.