This Ansible playbook is meant to easily let you run your own Matrix homeserver.

That is, it lets you join the Matrix network with your own @<username>:<your-domain> identifier, all hosted on your own server.

Using this playbook, you can get the following services configured on your server:

  • a Matrix Synapse homeserver - storing your data and managing your presence in the Matrix network

  • (optional) Amazon S3 storage for your Matrix Synapse’s content repository (media_store) files using Goofys

  • (optional default) PostgreSQL database for Matrix Synapse - providing better performance than the default SQLite database. Using an external PostgreSQL server is possible as well

  • a STUN/TURN server for WebRTC audio/video calls

  • (optional default) a Riot web UI, which is configured to connect to your own Matrix Synapse server by default

  • free Let’s Encrypt SSL certificate, which secures the connection to the Synapse server and the Riot web UI

  • (optional default) an nginx web server, listening on ports 80 and 443 - standing in front of all the other services. Using your own webserver is possible

Basically, this playbook aims to get you up-and-running with all the basic necessities around Matrix, without you having to do anything else.


How helpful was this page?