HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
spantaleev
matrix-docker-ansible-deploy
Jinja2019–2026
spantaleev / matrix-docker-ansible-deploy

matrix-docker-ansible-deploy

🐳 Matrix (An open network for secure, decentralized communication) server setup using Ansible and Docker

50Distinct people
80Mentions
4Explicit recommenders
6.5KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

🐳 Matrix (An open network for secure, decentralized communication) server setup using Ansible and Docker

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

I just configured one today. Took me no more than 15min. Highly recommend. If you are starting fresh, I recommend using the Ansible playbook:…

alwayslikethis used a recommendation phrase. 4 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 7:02:26 AM UTC.

Ask HN: How did you convince family and friends to join your XMPP/Matrix server? direct repository linkDebated

Participants overwhelmingly criticize the poor user experience of XMPP and Matrix clients as a barrier to adoption, while arguing that convincing non-technical users requires either offering superior convenience via Signal or providing a seamless, pre-configured experience. The discussion highlights a fundamental disagreement between privacy advocates who insist on sovereign protocols and users who prioritize ease of use and network effects.

97 readable replies · Supporting reply 1 · Supporting reply 2 · Supporting reply 3 · Supporting reply 4

Mentions over time

HN mentions by year80 dated mentions

Observed mentions: 2019-02-22 10:09:35 UTC to 2026-01-30 15:01:14 UTC.

01020302019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 27 mentions; 2 submissions, 25 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 8 mentions; 0 submissions, 8 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 15 mentions; 0 submissions, 15 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 15 mentions; 0 submissions, 15 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC303
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC606
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC27225
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC808
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC15015
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC15015
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC404
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC202

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Matrix (An open network for secure, decentralized communication) server setup using Ansible and Docker 🎯 Purpose This Ansible playbook is meant to help you run your own Matrix homeserver, along with the various services related to that. That is, it lets you join the Matrix network using your own user ID like @alice:example.com, all hosted on your own server (see prerequisites). We run all supported services in Docker containers (see the container images we use), which lets us have a predictable and up-to-date setup, across multiple supported distros (see prerequisites) and architectures (x86/amd64 being recommended). Installation (upgrades) and some maintenance tasks are automated using Ansible (see our Ansible guide). ☁ Self-hosting or Managed / SaaS This Ansible playbook tries to make self-hosting and maintaining a Matrix server fairly easy (see Getting started). Still, running any service smoothly requires knowledge, time and effort. If you like the FOSS spirit of this Ansible playbook, but prefer to put the responsibility on someone else, you can also get a managed Matrix server from etke.cc (both hosting and on-premises) - a service built on top of this Ansible playbook but with additional components and services which all help you run a Matrix server with ease. Be advised that etke.cc operates on a subscription-based approach and there is no "just set up my server once and be done with it" option. 🚀 Getting started We have detailed documentation in the docs/ directory - see the Table of Contents in the documentation README. While the list of supported services and documentation is very extensive, you don't need to read through everything. We recommend: Starting with the basics. You can always add/remove or tweak services later on. Following our installation guide. There are two guides available for beginners and advanced users: ⚡ Quick start (for beginners): this is recommended for those who do not have an existing Matrix server and want to start quickly with "opinionated defaults". Full installation guide (for advanced users): if you need to import an existing Matrix server's data into the new server or want to learn more while setting up the server, follow this guide by starting with the Prerequisites documentation page. If you experience an issue on configuring the playbook, setting up your server, maintaining services on it, etc., please take a look at our FAQ. If you cannot find an answer to your question, feel free to ask for help and support. ✔ Supported services Using this playbook, you can get the following list of services configured on your server. Basically, this playbook aims to get you up-and-running with all the necessities around Matrix, without you having to do anything else. Notes: The list below is exhaustive. It includes optional or even some advanced components that you will most likely not need. Sticking with the defaults (which install a subset of the above components) is the best choice, especially for a new installation. You can always re-run the playbook later to add or remove components. Deprecated or unmaintained services are not listed. You can find documentations for them here. Homeserver The homeserver is the backbone of your Matrix system. Choose one from the following list. Name Default? Description Documentation Synapse ✅ Storing your data and managing your presence in the Matrix network Link Conduit ❌ Storing your data and managing your presence in the Matrix network. Conduit is a lightweight open-source server implementation of the Matrix Specification with a focus on easy setup and low system requirements Link continuwuity ❌ Storing your data and managing your presence in the Matrix network. Link Tuwunel ❌ Storing your data and managing your presence in the Matrix network. Tuwunel is the official successor to conduwuit. Link Dendrite ❌ Storing your data and managing your presence in the Matrix network. Dendrite is a second-generation Matrix homeserver written in Go, an alternative to Synapse. Link Clients Web clients for Matrix that you can host on your own domains. Name Default? Description Documentation Element Web ✅ Default Matrix web client, configured to connect to your own Synapse server Link Hydrogen ❌ Lightweight Matrix client with legacy and mobile browser support Link Cinny ❌ Simple, elegant and secure web client Link Sable ❌ Simple, elegant and secure web client Link SchildiChat Web ❌ Based on Element Web, with a more traditional instant messaging experience Link FluffyChat Web ❌ The cutest messenger in Matrix Link Commet ❌ Matrix web client Link Server Components Services that run on the server to make the various parts of your installation work. Name Default? Description Documentation PostgreSQL ✅ Database for Synapse. Using an external PostgreSQL server is also possible. Link Traefik ✅ Web server, listening on ports 80, 443 and 8448 - standing in front of all the other services. Using your own webserver is also possible. Link Let's Encrypt ✅ Free SSL certificate, which secures the connection to all components Link Exim ✅ Mail server, through which all Matrix services send outgoing email (can be configured to relay through another SMTP server) Link coturn ❌ STUN/TURN server for WebRTC audio/video calls Link ddclient ❌ Dynamic DNS Link Matrix RTC stack ❌ Supporting components (LiveKit Server and LiveKit JWT Service) for in-app audio/video calls for Matrix clients Link Authentication Extend and modify how users are authenticated on your homeserver. Name Default? Description Documentation matrix-synapse-rest-auth (advanced) ❌ REST authentication password provider module Link matrix-synapse-shared-secret-auth (advanced) ❌ Password provider module Link matrix-synapse-ldap3 (advanced) ❌ LDAP Auth password provider module Link Matrix User Verification Service ❌ Service to verify details of a user based on an Open ID token Link synapse-simple-anti
Read the full README on GitHub

What Hacker News says

27 sources
I'm running a small (at the beginning it was completely public, now I'm keeping an eye on registrations) homeserver with synapse for a few years - I really like Matrix on a conceptual level and I'm happy that it exists even through it's not perfect it works pretty well mostly. I don't want to be too harsh because it's the best decentralized alternative for chat at the moment and it's open-source and there is a lot of progress but damn' it was a pain in the ass to run that server... we solved our problems mostly with throwing resources and memory on the problem... it's a nice tour de force if you want to learn about debugging distributed systems but it's nothing to install somewhere and just keep running. synapse is quite a mess and there are a lot of hidden footguns if you just run a server - this is just the tip of iceberg to keep the po
Read the rest
stgres database somewhat sane: https://levans.fr/shrink-synapse-database.html - lot's of other issues in the issue-tracker where you can just scratch your head. bridges are all subtly broken - the xmpp bridge is horrible and broke in so much interesting ways that I'm not going to touch it ever again - telegram works okay most of the time, irc-bridge also have some warts - but it's easy to criticize from my chair and probably unfair to talk so negative about it here but it's often buggy and broken for edge-cases - it works most of the time pretty okay but it's quite a mess to get a mental model for the code and so it's difficult to debug things. moderation/spam/etc.pp is all hackable but not there out of the box - it looks and feels like mostly quickly hacked up nodejs code that at least for us exploded in all kinds of interesting ways. https://github.com/matrix-org/mjolnir writing 3tb of logs in a few day and eating memory like crazy for instance. You have to babysit it and there is no simple ui for anything. So it's powerful but requires quite a bit of dedication and patience to get right. It's a full blown distributed system and often state is all over the place and once you make a mistake it's difficult to impossible to get that thing do work correct again without starting over. But there are so much promising projects that I'm confident that these issues will be resolved and it will only get better but in my experience it will break badly on all kinds of edge-cases - the mentioned xmpp-bridge created usernames that can't be deleted via the http api for instance. someone bridged 1000 channels via our telegram-bridge and there is no code to remove those channels - you have to code something up in python for yourself. irc bridge kicks you after 30 days idle because they can't handle the connections - freenode (before the takeover) said it's not them - maybe single threaded nodejs is not such a good idea for that. Could I do it any better and delivering? Probably not. But except some adventure and if you want to deploy it for an org carefully test any assumptions you take for granted. It's cool but it's also kind of quick'n'dirty in a lot of ways. Still better than anything else I'd use it over any megacorp messenger anytime but maybe don't switch your family yet. But for using it you don't have to care - and there are great projects like https://github.com/spantaleev/matrix-docker-ansible-deploy that solve most of the problems out of the box and mobile clients and web clients and E2E crypto also works really well.
In This Year in Matrix
+1 to this! I did something similar and you can deploy the whole deal on a cheep VM somewhere using https://github.com/spantaleev/matrix-docker-ansible-deploy/t... It probably took me about 2 hours total to work through the documentation and get everything configured just the way I wanted it, then you just run a couple ansible commands and boop, you have a matrix homeserver + web ui + jitsi meet + bridges to whatever you want. It's pretty great! It's my goto chat app now.
In Show HN: Chat with your contacts on different platforms without an app
If running an Ansible playbook [1] is "close to impossible" for you, then there are a few different companies who will host a server for you. Including the guys mentioned in the main article here. Sure, Synapse's performance isn't great, but still. Last summer I was able to run Synapse on a 1 vCPU, 1 GB RAM droplet from Digital Ocean. I had 100 copies of a bot running, each with their own room, constantly sending messages and replies to each other. With all 100 going at once, it was super slow. But with fewer bots, or with a lower chance of replying to a message, it worked pretty well. Not bad for like $10 / month. Also, if you want light and fast, check out Conduit, the homeserver written in Rust: https://conduit.rs/ [1] https://github.com/spantaleev/matrix-docker-ansible-deploy
In Element raises $30M to boost Matrix
This sounds like what you need: https://github.com/spantaleev/matrix-docker-ansible-deploy I don't know anything about ansible, or much about docker, or self hosting. And I was able to set it up and it's working quite well for my family and friends. You don't have to enable federation. Set federation_domain_whitelist to an empty list, and poof, federation disabled. DNS settings are pretty easy too - especially if you can allow your instance to take control over an entire domain (and don't have to host other web services other than what the playbook supports). Don't need the SRV stuff here: https://github.com/spantaleev/matrix-docker-ansible-deploy/b... If you just have a private server for < 100 users, 1 vCPU and 2GB RAM is enough. I also use it for bridging to IRC using heisenbridge (which the playbook supports) and it's no problem on th
Read the rest
e tiny server. Updates are very easy, pull the latest playbook, and run setup again. Done.
In Self hosting is important

Showing the 15 most recent of 27 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.