[{"data":1,"prerenderedAt":214},["ShallowReactive",2],{"seo-verification":3,"blog-private-self-hosted-messaging-matrix-xmpp-snikket-chatmail-ma-en":6,"promo-bar-likely":213},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-private-self-hosted-messaging-matrix-xmpp-snikket-chatmail-ma-en",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":36,"sections":37,"ctaTitle":150,"ctaBody":151,"ctaButton":152,"ctaUrl":153,"relatedPosts":154},573,"private-self-hosted-messaging-matrix-xmpp-snikket-chatmail",{"fr":12,"en":10,"ar":13,"es":14},"messagerie-privee-auto-hebergee-matrix-xmpp-snikket-chatmail","مراسلة-خاصة-مستضافة-ذاتيا-matrix-xmpp-snikket-chatmail","mensajeria-privada-autoalojada-matrix-xmpp-snikket-chatmail","Self-hosted private messaging: Matrix, Snikket or chatmail","Matrix, XMPP with Snikket or chatmail with Delta Chat: compare RAM, DNS, ports, federation and mobile apps to choose your private messaging server on a VPS.",12,0,false,"2026-11-09T00:00:00+00:00","2026-11-09T20:55:08+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},7,"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fmessagerie-privee-auto-hebergee-matrix-xmpp-snikket-chatmail-poster.svg",{"categorySlug":34,"appSlug":35},"collaboration-productivity","matrix-synapse","Leaving WhatsApp, Slack or Discord is rarely a server problem: it is a choice problem first, then a matter of convincing the people around you. Renting a VPS before deciding between Matrix, XMPP with Snikket and chatmail with Delta Chat risks starting over when the domain name, the ports or the app turn out to be wrong. This article compares the three on what really decides the matter: resources, maintenance, DNS and TLS, federation, encryption and mobile apps. It helps you choose in a single read, without repeating the installation tutorials.",[38,42,53,56,59,62,98,101,126,129,133,136,147],{"type":39,"title":40,"body":41},"h2","Choose the protocol before renting the server","A recent Hacker News discussion restated something administrators tend to forget: the hard part of private messaging is social. The server takes an evening to build; convincing a family, an association or a team to install another app takes weeks. Yet the protocol decides what you will maintain for years, how many DNS records, ports and certificates you must understand, and what your contacts see on their phones. Three families share the private use case: Matrix with Synapse and Element, XMPP with Snikket, and chatmail with the Delta Chat app. They do not solve the same problem.",{"type":43,"title":44,"items":45},"ul","The seven criteria that decide",[46,47,48,49,50,51,52],"**Server resources** — what the stack uses at idle, and what it asks for when the community grows.","**Maintenance** — how many components to update, which backups to test, which accounts to manage.","**Domain, DNS and TLS** — the records to create, the certificates, and what happens if the name has to change.","**Ports** — what must be opened, and whether the VPS can share ports 80 and 443 with another site.","**Federation** — talking to people hosted elsewhere, or staying among yourselves.","**Encryption** — applied by default, or switched on room by room.","**Mobile apps and notifications** — what your contacts install, and whether the phone rings when the app is closed.",{"type":39,"title":54,"body":55},"Matrix: Synapse and Element, the versatile stack","Matrix is a federated protocol: your server, Synapse, talks to other Matrix servers, and users connect with Element on mobile, desktop or in a browser. It is the most versatile of the three, with public and private rooms, teams and bridges to other networks. It also has the highest cost. Our measurement on a fresh installation gives about 300 MB at idle for the whole stack (Synapse, PostgreSQL, Element and reverse proxy), and a VPS with 2 GB of RAM and 2 vCPU suits a team, an association or a family. The Synapse documentation recommends PostgreSQL for any production server, reserves SQLite for testing and advises at least 1 GB of free RAM to join large public rooms. On the network side you need a reverse proxy in HTTPS, port 8448 for federation (or a delegation to 443) and a `.well-known` file so apps can find the server. The trap: the server name is permanent, because it is written into every user identifier, and the documentation asks you to choose it before installing. For the step-by-step installation, our guide \"Host Matrix (Synapse) and Element on your own VPS\" covers every step.",{"type":39,"title":57,"body":58},"Snikket: XMPP built for a group of close contacts","Snikket is an XMPP distribution designed for families, friends, clubs and small organisations, with no phone number and no address book to upload. You decide who joins by sending an invitation link: the first administrator account is created from the server with `docker exec snikket create-invite --admin --group default`, and later invitations are managed from a web dashboard. The documented prerequisites are a Linux host with Docker (version 20.10.10 or newer) and the Compose plugin, a domain on which you can create subdomains, an A record (AAAA optional) and two CNAME records, `groups` and `share`, pointing to the main domain. Port 80 must stay reachable, because Let's Encrypt validates the domain there. The documentation gives no minimum RAM: rather than invent one, measure it during a pilot. Snikket expects to be the only web server on the machine. If it shares the VPS with a website, you must move its HTTP and HTTPS ports (`SNIKKET_TWEAK_HTTP_PORT` and `SNIKKET_TWEAK_HTTPS_PORT`) and have your proxy relay the web traffic, knowing that XMPP, STUN and TURN cannot go through an HTTP proxy. A dedicated VPS avoids that juggling.",{"type":39,"title":60,"body":61},"chatmail and Delta Chat: encrypted mail by default","chatmail is not a new instant messaging protocol: it is an email relay stripped down to the essentials, which the Delta Chat app uses as a messenger. The relay, built on Postfix, Dovecot and OpenDKIM, refuses unencrypted messages, asks for no phone number or private data, and keeps messages only long enough to deliver them; old messages and inactive mailboxes are deleted according to your settings. The documented prerequisites are a Debian 12 server, 1 GB of RAM, one CPU and about 10 GB of storage for a few thousand active addresses, a domain, an A record (AAAA encouraged), `www` and `mta-sts` CNAME records, and reachable SMTP, SUBMISSIONS, IMAPS and HTTPS ports. Deployment is driven from a Linux or Unix workstation with `scripts\u002Fcmdeploy run`, and `scripts\u002Fcmdeploy dns` checks the records. Because the machine runs its own mail server, a dedicated VM is the prudent choice. Delta Chat is built for conversations and groups between contacts, not to replace a team platform with channels and integrations.",{"type":63,"title":64,"headers":65,"rows":69},"comparison","Matrix, Snikket and chatmail side by side",[66,67,68],"Matrix (Synapse + Element)","Snikket (XMPP)","chatmail + Delta Chat",[70,74,78,82,86,90,94],[71,72,73],"Resources: about 300 MB at idle (ServOrbit measurement), VPS with 2 GB \u002F 2 vCPU","Resources: no minimum figure in the documentation, to be measured in a pilot","Resources: 1 GB of RAM, 1 CPU, about 10 GB for a few thousand active addresses (documentation)",[75,76,77],"Maintenance: several components (Synapse, PostgreSQL, Element, proxy) and version upgrades to follow","Maintenance: `docker compose pull` then `docker compose up -d`, invitations managed from the dashboard","Maintenance: upgrade by re-running `scripts\u002Fcmdeploy run` from the deployment workstation, purge of inactive mailboxes is configurable",[79,80,81],"DNS and TLS: permanent domain, A record, `.well-known`, certificate served by the reverse proxy","DNS and TLS: A, `groups` and `share` CNAME records, Let's Encrypt handled by Snikket with port 80 open","DNS and TLS: A, AAAA encouraged, `www` and `mta-sts` CNAME records, valid certificate with full chain",[83,84,85],"Ports: 443 behind a proxy, 8448 for federation unless delegated","Ports: TCP 80, 443, 5222, 5269, 5000, 3478, 3479, 5349, 5350 and UDP 49152-65535 for calls","Ports: 25, 587, 465, 143, 993, 443 and 80, plus 3478 over UDP for calls",[87,88,89],"Federation: yes, with the whole Matrix network","Federation: port 5269 for server-to-server traffic, but the intended use remains the closed group","Federation: the relay exchanges mail with other relays, unencrypted messages are blocked",[91,92,93],"Encryption: end-to-end, switched on room by room, irreversible once enabled","Encryption: TLS to the server; check the client documentation before promising end-to-end encryption","Encryption: OpenPGP required, no cleartext messages on a default chatmail relay",[95,96,97],"Apps: Element on mobile, desktop and web, notifications to test on your phones","Apps: Snikket app (including an iOS version) and compatible Conversations, iOS push through the Snikket service","Apps: Delta Chat on mobile and desktop, no web client, Apple and Google push without exposing content",{"type":39,"title":99,"body":100},"Who should choose what","A family of eight that mainly wants to share photos and make calls: Snikket or chatmail, because administration comes down to an invitation link. Snikket if you want a single app with groups and file sharing; chatmail if the criterion is confidentiality by default and no account to create. An association with a room per committee, outside guests and bridges to other tools: Matrix, heavier but more versatile. A small team replacing Slack: Matrix, or a team messenger such as Mattermost or Rocket.Chat, which our dedicated article compares. In every case the server is not what fails: adoption is. So first choose the protocol whose app appeals to the most reluctant person in the group, then size the VPS.",{"type":102,"title":103,"steps":104},"steps","Decide in seven steps before renting the VPS",[105,108,111,114,117,120,123],{"title":106,"body":107},"Count and qualify the users","Note how many people, on which phones (iPhone, Android) and whether outside guests will need to join. A closed group of close contacts points to Snikket or chatmail; rooms and guests point to Matrix.",{"title":109,"body":110},"Have the app installed before the server","Install Element, the Snikket app and Delta Chat on the phones of two close contacts, including the one least comfortable with technology. Their reaction weighs more than any row of the table.",{"title":112,"body":113},"Fix the domain name","Choose a permanent subdomain, for example `chat.your-domain.com`. For Matrix it is written into every identifier and can no longer be changed. Check that it points to the future server with `dig +short A chat.your-domain.com`.",{"title":115,"body":116},"Check that the ports are free","On an existing server, `ss -tlnp | grep -E ':(25|80|443)\\b'` shows what already holds these ports. Snikket and chatmail want 80 and 443 for themselves; Matrix sits behind a reverse proxy. If the ports are taken, plan a dedicated VPS.",{"title":118,"body":119},"Size the VPS","For Matrix, start from 2 GB of RAM and 2 vCPU. For chatmail, the documentation states 1 GB and one CPU. For Snikket, start from 2 GB and measure consumption during the pilot with `docker stats`.",{"title":121,"body":122},"Name who maintains it","Write down the name of the person who applies updates and tests backups. If nobody wants the role, the VPS administration option lets you hand it to an administrator.",{"title":124,"body":125},"Run a two-week pilot","Set up the chosen server with three to five people, then count who is still writing at the end. Snikket: `docker exec snikket create-invite --admin --group default` creates the administrator account. chatmail: `scripts\u002Fcmdeploy dns` checks the DNS. Matrix: follow the installation guide, then run the server through matrix.org's federation tester.",{"type":39,"title":127,"body":128},"Adoption: your contacts and notifications","A flawless server that nobody uses is worthless, and the deciding criterion is what your contacts see on their phones. On iPhone, Apple offers no alternative for instant delivery: Delta Chat enables push automatically for chatmail profiles, and its documentation states that neither the IP address, nor profile data, nor content is exposed to Apple or Google. On Android, notifications rely on an available push service (FCM or microG); otherwise delivery may be delayed. Snikket states that on iOS, notification content is encrypted with a key known only to the app and to your server. With Matrix, test Element's notifications on each phone model before deciding: we give no guarantee here. Two other frictions matter: Snikket and Delta Chat do not ask for a phone number, which reassures some contacts, and Delta Chat has no web client, which bothers people who work on a shared computer.",{"type":130,"title":131,"body":132},"tip","Hardening: close registration, open only what is needed","Whatever you choose, three actions. Close open registration: `enable_registration: false` on Synapse, invitations only on Snikket, and `touch \u002Fetc\u002Fchatmail-nocreate` on chatmail once the group is formed (existing addresses are untouched). In the VPS firewall, open only the ports of the chosen stack plus SSH, for example `ufw allow 5222\u002Ftcp` for Snikket client connections. Finally, back up what cannot be rebuilt: Synapse's signing key and PostgreSQL database, Snikket's volumes, the mailboxes of your chatmail relay.",{"type":39,"title":134,"body":135},"Troubleshooting: the errors that keep coming back","The symptoms below come from each project's official troubleshooting pages. In most cases you start with DNS and ports, before touching the configuration.",{"type":43,"title":137,"items":138},"Symptoms, likely causes and fixes",[139,140,141,142,143,144,145,146],"**Snikket: the \"Snikket is starting\" page never goes away** — it is usually a certificate problem. Check the three DNS records, port 80 open at the host and in `ufw`, then read `\u002Fvar\u002Flog\u002Fletsencrypt\u002Ferrors.log` inside the `snikket_certs` container. Avoid retrying in a loop: Let's Encrypt applies strict rate limits.","**Snikket: every invitation link shows as expired** — check that the URL is complete, that no other service uses port 5280 and that the reverse proxy forwards to Snikket.","**Snikket: the app reports that the server is not responsible for the domain** — another XMPP server holds Snikket's ports, or old SRV records from a previous installation linger. Then wait for DNS caches to expire.","**Snikket: large files fail** — a reverse proxy limits upload size, and it must accept at least 100 MB. Beyond that, the transfer is direct from device to device, between two people who are online, and is not supported to or from iOS.","**Matrix: `M_UNKNOWN` or `401 Unauthorized` in federation** — according to the Synapse documentation, federating servers do not follow HTTP 308 redirects; a 301 redirect solves it. Then test with matrix.org's federation tester.","**Matrix: users on other servers cannot join your rooms** — port 8448 is unreachable, the delegation is missing or the reverse proxy is misconfigured. Rerun the federation test before changing anything.","**chatmail: messages do not arrive** — the filtering component requires a valid TLS certificate with its full chain. Run `scripts\u002Fcmdeploy dns` to check the records, then verify that ports 25, 465 and 993 are reachable from outside.","**chatmail: `cmdeploy` cannot connect over SSH** — the deployment workstation's key must be of type ed25519, protected by a passphrase and loaded in ssh-agent, with SSH access to the server's root user.",{"type":39,"title":148,"body":149},"Which method to keep","None of the three is the right one in itself: the right one is the one your contacts will still open in six months. For a closed group that wants as little administration as possible, look at Snikket or chatmail; for rooms, guests and integrations, Matrix. Matrix (Synapse) is the application available as a VPS template on ServOrbit: a ready-to-use environment on a VPS, with a domain to attach. Snikket and chatmail deploy on a standard VPS Cloud, with root access and a dedicated IPv4; the VPS Cloud page details the plans. All three are open source and you administer them yourself: ServOrbit provides the server, not the tool.","Get started with Matrix on a ServOrbit VPS","Matrix (Synapse) is available as a VPS template: Docker, PostgreSQL and Element ready to use, on a domain you attach. Snikket and chatmail deploy on a standard VPS Cloud, with root access and a dedicated IPv4. The VPS administration option can take over maintenance.","Configure my solution","\u002Fapplications\u002Fcollaboration-productivity\u002Fmatrix-synapse",[155,173,193],{"id":156,"slug":157,"slugs":158,"title":162,"excerpt":163,"readTime":164,"views":165,"isPinned":19,"noindex":19,"publishedAt":166,"updatedAt":167,"category":168,"categories":169,"featuredImage":30,"bgImage":31,"posterImage":171,"relatedSolution":172},232,"host-matrix-synapse-and-element-on-your-own-vps",{"fr":159,"en":157,"ar":160,"es":161},"heberger-matrix-synapse","استضافة-matrix-synapse-وelement-على-خادم-vps-الخاص-بك","alojar-matrix-synapse-y-element-en-un-vps","Host Matrix Synapse and Element on Your Own VPS","Self-host Matrix Synapse and Element Web on a VPS: Docker, PostgreSQL, reverse proxy, bridges and history purge. Full 2026 guide.",9,4,"2026-01-19T00:00:00+00:00","2026-11-08T01:13:13+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[170],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-matrix-synapse-poster.svg",{"categorySlug":25,"appSlug":35},{"id":174,"slug":175,"slugs":176,"title":180,"excerpt":181,"readTime":23,"views":182,"isPinned":19,"noindex":19,"publishedAt":183,"updatedAt":184,"category":185,"categories":190,"featuredImage":30,"bgImage":31,"posterImage":192,"relatedSolution":30},304,"mattermost-vs-rocketchat-which-to-choose-in-2026",{"fr":177,"en":175,"ar":178,"es":179},"mattermost-vs-rocketchat-self-hosted-slack-2026","mattermost-أم-rocketchat-أيهما-تختار-في-2026","mattermost-vs-rocketchat-cual-elegir-en-2026","Mattermost vs Rocket.Chat: which to choose in 2026?","Slack raised prices 20% in 2026: Mattermost or Rocket.Chat? Two radically different architectures, a concrete comparison to help you decide.",1,"2026-08-26T00:00:00+00:00","2026-09-21T15:22:04+00:00",{"id":186,"name":187,"slug":188,"color":189,"icon":188},5,"Comparison","comparatif","bg-info\u002F10 text-info",[191],{"id":186,"name":187,"slug":188,"color":189,"icon":188},"\u002Fblog\u002Fcovers\u002Fmattermost-vs-rocketchat-self-hosted-slack-2026-poster.svg",{"id":194,"slug":195,"slugs":196,"title":200,"excerpt":201,"readTime":202,"views":18,"isPinned":19,"noindex":19,"publishedAt":203,"updatedAt":204,"category":205,"categories":210,"featuredImage":30,"bgImage":31,"posterImage":212,"relatedSolution":30},459,"self-hosted-email-server-on-vps-comparison-2026",{"fr":197,"en":195,"ar":198,"es":199},"serveur-email-self-hosted-comparatif-vps-2026","مقارنة-خوادم-البريد-self-hosted-على-vps-2026","comparativa-servidores-email-self-hosted-en-vps-2026","Self-hosted email server on VPS: 2026 comparison","Stalwart, Mailcow or Postfix+Dovecot: compare RAM, complexity and spam filtering scope to choose the right email server for your VPS in under 10 minutes.",10,"2026-10-16T00:00:00+00:00","2026-10-18T21:57:56+00:00",{"id":206,"name":207,"slug":208,"color":209,"icon":208},11,"Business Email","emails","bg-cyan-500\u002F10 text-cyan-400",[211],{"id":206,"name":207,"slug":208,"color":209,"icon":208},"\u002Fblog\u002Fcovers\u002Fserveur-email-self-hosted-comparatif-vps-2026-poster.svg",true,1794270474223]