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

Matrix Website

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
Invite-Only Registration Toggle You can generate invite links to allow specific people to join. Disabling this allows anyone on the internet to join your server. enabled
Voice & Video Calls Toggle Enables support for voice and video calls. enabled
Cross-Device Verification 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. enabled
Media Store Path 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. /var/lib/matrix-synapse/media
Chat HTTP Port Port The port to use for HTTP traffic. 8008
Chat HTTPS Port Port The port to use for HTTPS traffic. 8448
VOIP HTTP Port Port The port to use for VOIP HTTP traffic. 3478
VOIP HTTPS Port Port The port to use for VOIP HTTPS traffic. 5349