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.
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 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.
It’s pretty solid for 1:1 calls, and they are currently working on Matrix’s own conferencing protocol/solution.
But until then you could set up a Jitsi Meet instance along with Matrix to run multiple user calls.I once tried. Too difficult for my technical knowledge. Or maybe the server was not powerful enough. Just 1 GB of RAM.
Plus, Jitsi Meet will allow you publicly available video conferencing which is really nice to have on its own. ;-)
I don’t think it does, but take a look at Jitsi Meet! It’s very good
You can get the best of both worlds actually. Matrix supports doing video calls through Jitsi Meet!
I want to say that for 1-to-1 calls it does video natively, and for group video calls it uses Jitsi Meet.
Oh, very cool!
I’m thinking of starting something similar. What kind of specs are you using for your host?
I’m concerned about RAM and disk space for this in my personal setup
I started with the smallest offer available and later upgraded to the second smallest, which now has 4GB RAM. I also have rented additional diskspace, so that I have 30GB now. RAM and CPU are now certainly fine, but I don’t know yet about disk space. I read that Lemmy/Mastodon can eat up space quickly and I have currently used up about half of my disk space.
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.
You should be able to configure this differently. Either switch of the confirmation mails completely or use the email credentials from another server.
I will try thank you