Hi there, I was intrigued by the idea of self-hosting my social media accounts, but was more or less a complete noob with all things hosting. However, with the help of the community here (and quite a few hours spent on it) I finally have a working setup! Mastodon, Matrix, Lemmy, Nextcloud all self-hosted behind Nginx Proxy Manager.
Google can find a lot of answers, but sometimes some really specific input is needed - which you guys have provided over the last couple of weeks - so I just wanna say thank you for that!
Congrats on your first setup. I would recommend making sure you have fail2ban set up and test it. If you’re keeping anything important, get backups going… I worry for new self-hosters that may have a security issue and lose their hard work to a vulnerability.
I have fail2ban running as well, didn‘t mention it in the op. Also closed all ports beside 80 and 443, which are routed through my NPM proxy. SSH is allowed, but login only with ssh key, no pw authentication.
So far it‘s running well, but I expect things to break when I‘ll need to update parts of it. I have a snapshot from which i can reinstall, but recurring backups need yet to be set up.
Sounds great! By the way, if you’re using docker, be careful not to accidentally have a container open a port on all interface. Even if you have a firewall configured on the machine, sometimes docker can punch a hole without you knowing. Might be a good idea to run a port scan from an external computer from time to time just to makes sure no unwanted open ports.
Where did you host your Matrix server? I was using Hetzner but they block port 25 for email.
I use Synapse as Matrix server and Element as client. It doesn’t need port 25 (8008 and 8448 are needed in my setup). On Lemmy and Mastodon I configured outgoing mail using smtp via my existing mail hoster, so I don’t send mail from my own server. Also, all googling I did said to stay away from selfhosting email, as it is a hassle not to be immediately blocked as a spam mail server …
So yes I got synapse installed and I use element as a client but when I tried to register an account it wants to send me an email from my own server and since port 25 is blocked.
That’s an impressive stack you were able to build. How long did it take you?
I spent a lot of time googling and on youtube, to get a basic understanding for what I was trying to achieve, 2 weeks of after-work time at least. If I should guess 40-50 hours in total. Getting a single piece to work, by following a tutorial can be easy but to get all the things working together was a struggle. Once I had a better grasp on what a reverse proxy is and how docker containers work together in networks, pieces started to fall into place.
Does matrix support video calls? Our family uses Google Meet for group calls. Been thinking of a self-hosted alternative.
I don’t think it does, but take a look at Jitsi Meet! It’s very good
I use Synapse as the Matrix server and Element as client on desktop and mobile. It does support video calls, but so far I only tested it for a minute.