If you’ve found this post then you likely already know what Matrix Home Server is and does but for brevity and if you can’t be bothered to read the docs I’ll give my best shot at summarising what it is and adding a few notes about my own experiences installing and using it.
What is it?
Matrix Home Server is a federated, e2e encrypted protocol for communication.
Why do I care?
Well, by setting up your own instance it also lets you connect all your favourite chat applications in one place. This is handy.
How do I get it?
I won’t do the community a disservice by trying to do a better job of documenting the process than already exists at https://github.com/spantaleev/matrix-docker-ansible-deploy.
But basically it boils down to:
- Buy a domain.
- Install it using Ansible (documented above, it’s way easier).
- Use the apps to connect and test it out.
Troubleshooting
It’s very likely you’ll run into some issues during or after installing MHS. Especially if you aren’t familiar with tools like Ansible and Docker. Don’t forget you can instead use a managed service like https://etke.cc to skip all the headache, which I nearly did myself! But glad I persevered.
Ok, heres some troubleshooty things to note:
-
Remember, all that the ansible workbooks do (basically), is spin up docker containers with certain variables and startup scripts.
-
Ansible uses roles to declare its variables and what not - don’t bother modifying any of the actual role files that live in the /roles directory.
-
Everything should be overriden in the /inventory/host_vars/DOMAIN/vars.yml file, for example:
matrix_mautrix_whatsapp_enabled: true
matrix_mautrix_twitter_enabled: true
matrix_mautrix_instagram_enabled: true
matrix_heisenbridge_enabled: true
matrix_mx_puppet_discord_enabled: true
matrix_synapse_ext_password_provider_shared_secret_auth_enabled: true
matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret: "SECRET"
matrix_mautrix_whatsapp_login_shared_secret: "SECRET"
matrix_mautrix_whatsapp_database_engine: "sqlite"
Post-install, if you’re SSH-ing into your matrix server, you’re doing it wrong.
I couldn’t fathom why my docker services weren’t starting up, and it isn’t too obvious by their docs. After running ansible-playbook -i inventory/hosts setup.yml --tags=setup-all
you will need to run ansible-playbook -i inventory/hosts setup.yml --tags=start
to actually get the docker containers running.