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

8 sources
I have set up a bridge on my own server. I bridge 1-on-1 chats and group chats equally and have set up spaces to separate the different clients for ease of overview. Bridging chats of different technologies doesn't work well/at all (i.e. Signal bridge + WhatsApp bridge users in a single room) but bridging external chats (DM or group) into Matrix works very well. Some services need a daemon running on a phone (i.e. WhatsApp) and that's very annoying, but where possible these bridges all run in the cloud. If you trust third parties, you can also go the easy route by getting a subscription from EMS (https://element.io/matrix-services/ems-pricing) or Beeper (https://www.beeper.com/). I personally prefer to keep my messages and encryption keys on devices I control, but others prefer to let someone else take care of it all and I respect that. I
Read the rest
t's relatively straight-forward to set up a bridging server if you're comfortable with Docker and YAML files. You can read how to set up a Matrix server here: https://matrix.org/docs/guides/free-small-matrix-server and here: https://github.com/spantaleev/matrix-docker-ansible-deploy/b... If you use the Ansible playbook, all you should really need to do is run through the setup, fire up a Matrix client, start chats with bot accounts, and follow the instructions on the guide (usually sending /login to a bot and authenticating your account with whatever service you're bridging). Your Matrix account doesn't have to be on the same server as your bridges, which is a setup some seem to prefer. You can set up a Matrix server just for bridging so that you don't need to set up all the VoIP features and performance tricks while keeping your own server dedicated to just bridging stuff. This does break some nice features (i.e. double puppeting, a bridge feature) but it also makes your own server less of a single point of failure if you ever do get talking on Matrix.
In I asked Signal motivations for SMS removal
https://etke.cc/order/ https://github.com/spantaleev/matrix-docker-ansible-deploy this suggests etke which have a $25/onetime to install on your server. this is VERY VERY cheap instead of spending 3 days or whatever. I mean, if the author spent 3 days on this and finished it, that means he/she could do it in much less time next time around. paying someone literally fixes this issue in a second and $25 is nothing compared to the benefits of selfhosting. heck, even their monthly $5/month maintenance is extremly cheap if you can't even do that and you are paying for someone's salary also so everyone wins
In Matrix was worth the effort to self host
> It’s compelling to look at the non-hosting users, conclude that they are a smashing majority (99.8% !!!!), and make a sweeping conclusion that no one wants to host their own servers. Yet it’s precisely because of those 0.2% that the system is capable of existing. Take them away, and the whole system dies. The Matrix chat protocol is like this - you have many more users than servers, but you can switch servers, the servers can talk to each other (federated), and there are even multiple implementations of server software. I've moved almost 100 friends (in their 20s) onto Matrix - Element is getting really good, and some use FluffyChat or SchildiChat. They aren't running their own servers, but they can if they want (unlike Signal), or they can switch down the track. It's pretty easy to host your own - it took me an hour or two to set a Ma
Read the rest
trix server up on a $5/month VPS, and maintenance involves running one setup command again: https://github.com/spantaleev/matrix-docker-ansible-deploy
In Some people want to run their own servers

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.