I want to host my own server, but I would like to know what I should know?
- How to make your computer publicly routable on the Internet (open firewall or forward port)
- Basics of Linux administrating and terminal
- Basics how to register domain name and point it dynamically or statically to the machine
Use MDAD and save yourself a ton of time and effort. https://github.com/spantaleev/matrix-docker-ansible-deploy
- how to use apparmor or selinux
- how to run docker rootless
- use a reverse proxy like traefik or nginx
- use certbot or another way to get TLS certificates
- use a firewall, use secure ssh
- block spam traffic and matrix servers that host spam
- host synapse and sliding sync
sounds complicated
I mean you want to host an internet facing computer. That shit is poorly pretty complicated. But I think there are things that make that easier with presets etc.
I heard of people that Nix is awesome because there are preconfigured configurations, you apply them and also with your single config file you have the documentation of what you did.
Can you advice me to try, if I have never done such things before, or is it better try something simpler?
- user names cannot be changed
- never delete your database, have backups, all the state is in there, if you lose your DB, you essentially have to set up a new server: Your server will say you are not in a room while others say you are, so you cannot join. Always keep your DB backed up.
You said on your PC, but don’t forget that the server should be accessible 24/7
Do yourself a favor and use something like etke.cc
I just can’t and don’t want if I could