Matrix Homeserver
Deprecated: Parsedown::blockSetextHeader(): Implicitly marking parameter $Block as nullable is deprecated, the explicit nullable type must be used instead in /home/tableosn/vendor/erusev/parsedown/Parsedown.php on line 715
Deprecated: Parsedown::blockTable(): Implicitly marking parameter $Block as nullable is deprecated, the explicit nullable type must be used instead in /home/tableosn/vendor/erusev/parsedown/Parsedown.php on line 853
Summary
Matrix is an open source, decentralized chat system which enables you to host your own secure, real-time messaging and calling platform. Users can connect to your server to chat or share files using their choice of many free and open source Matrix clients. You can find a list of the most popular Matrix clients in a section below. Each one may vary somewhat in layout, appearance, and features.
Use Cases
- Private group chats with family or friends
- Secure, end-to-end encrypted messaging
- Self-hosted alternative to Slack, Discord, WhatsApp, etc.
- Voice and video calls without relying on third-party services
- Federation: connect with users on other Matrix servers seamlessly
Details
Matrix is a federated, open protocol built for real-time communication. Synapse—the reference homeserver implementation—is actively maintained and broadly used. Out of the box, it supports messaging, end-to-end encryption, file sharing, and federation with other Matrix homeservers.
Coturn is a service that allows reliable voice/video calls even behind NAT or firewalls. You can choose to have this automatically configured when you deploy your Matrix Homeserver so users can seamlessly place voice and video calls.
Features
- Real-time group and one-on-one chat
- Organizing communication amongst a team or community
- Privacy-first end-to-end encrypted messaging
- File sharing for images, documents, and other media
- Voice and video calling
- Federation: talk to users on other servers
- Synced conversations across multiple devices
- Supports both public registration and invite-only modes
Popular Matrix Clients
Matrix clients are the apps used to interact with your homeserver. Listed below are some of the most widely used and user-friendly options. Users will be able to log into your server using any of these and start chatting securely. For users seeking a complete feature-set, Element will likely be the best choice. For users seeking simplicity, FluffyChat may be a better choice.
Client | Platforms | Notable Features |
---|---|---|
Element | Web, Android, iOS, Desktop | Full-featured, end-to-end encryption, voice/video, bridges, theming |
FluffyChat | Android, iOS, Web, Desktop | Simple UI, encrypted chats, good mobile UX |
SchildiChat | Android, Desktop (beta) | Based on Element, with more traditional chat UI |
Nheko | Desktop (Linux, macOS, Windows) | Lightweight, fast, native UI, good E2EE support |
Cinny | Web, Desktop (Electron) | Clean, minimal UI with modern UX |
Fractal | Linux (GNOME) | GTK-based, native on Linux desktops |
NeoChat | Linux, Plasma Mobile | KDE-powered, works well on Linux systems |
System Requirements
Synapse runs well on minimal hardware but larger message history and frequent media uploads will require more storage. If you don't plan on users uploading much more than the occasional photo or video, the storage capacities listed here should be sufficient for quite a while. Storage usage will grow over time, so it's good to plan ahead and leave yourself more room than you think you'll need. Some use cases may demand hundreds of GB, but if this you then you'll probably be well aware of this.
If you plan on having multiple voice calls going at once, you will want relatively fast internet and a decent processor to ensure high call quality and stability. The values recommended here are for an optimal experience, but your server can still be quite usable at speeds much lower.
Basic Messaging
To reduce your reliance on insecure text-messaging or third party services such as Slack.
Resource | Minimum | Recommended |
---|---|---|
CPU | 1 Core | 2 Cores |
RAM | 1 GB | 2 GB |
Storage | 5 GB | 20 GB |
Upload Speed | 1 Mb/s | 5 Mb/s |
Download Speed | 1 Mb/s | 5 Mb/s |
Heavy Voice Call Usage
For frequent one-on-one or group voice/video calls. Upload and download speed are both important here.
Resource | Minimum | Recommended |
---|---|---|
CPU | 2 Cores | 4 Cores |
RAM | 2 GB | 4 GB |
Storage | 5 GB | 20 GB |
Upload Speed | 10 Mb/s | 20 Mb/s |
Download Speed | 10 Mb/s | 20 Mb/s |
Heavy Media Upload Usage
For frequent sharing of images, videos, documents, etc. Your upload speed will affect how long users have to wait for images to load or videos to buffer. Your download speed will affect how long it takes users to upload files.
Resource | Minimum | Recommended |
---|---|---|
CPU | 2 Cores | 4 Cores |
RAM | 2 GB | 4 GB |
Storage | Usage dependant | Usage dependant |
Upload Speed | 5 Mb/s | 20 Mb/s |
Download Speed | 10 Mb/s | 50 Mb/s |
Links
Deployment Settings
Listed below is a table containing all of the auto-deployment settings available for this software. These settings can be configured during the installation process or later through the Server Management page. Please note that some software also comes with its own dedicated management interface containing additional options. The settings available here are more related to the hosting aspect of the software rather than the software's internal configuration.
Setting | Type | Description | Default |
---|---|---|---|
Toggle | You can generate invite links to allow specific people to join. Disabling this allows anyone on the internet to join your server. |
|
|
Toggle | Enables support for voice and video calls. |
|
|
Toggle | Enables end-to-end encryption and ensures only trusted devices can decrypt messages. You can disable this for a simpler user experience, but messages will be stored on your server unencrypted. |
|
|
Path | The location where your server will store files such as image uploads. You can change this to point to a larger secondary drive if you have one installed. |
|
|
Port | The port to use for HTTP traffic. |
|
|
Port | The port to use for HTTPS traffic. |
|
|
Port | The port to use for VOIP HTTP traffic. |
|
|
Port | The port to use for VOIP HTTPS traffic. |
|