• M.Sc. Computer Science Student at University of Stuttgart
  • Assistant at the CERT of the University of Stuttgart
  • Admin of QuantenToast
  • 2 Posts
  • 2 Comments
Joined 1 year ago
cake
Cake day: June 25th, 2023

help-circle

  • First: Good for you, enjoy the journey! Second: Just as others already pointed out, Mastodon is not really a beginner project. You want to understand what you are doing, not just make everything work no matter what. Some reasons why I’d not start with Mastodon:

    • Complex deployment stack (for beginners)
    • Needs regular maintenance
    • Security considerations (if you haven’t managed/hardened a server before)
    • Long term project

    So instead: Have a look at awesome-selfhosted for ideas. A personal dashboard, photo gallery or a PiHole/AdGuard is a good start.

    About Docker; it’s a bit more than just dependency separation. It’s a kind of virtualization, but without each container running it’s own kernel. Advantage is: Docker images run (with some configuration) relatively lightweight out of the box. So there’s no need to install the applications natively. While I’m a great fan of Docker, you’d probably learn more installing things natively in the beginning. Or maybe do both, it’s up to you. However, if you decide to use Docker, be sure to understand what’s going on under the hood. That’s where the fun begins. Everyone can pull and start images, but not everyone knows how to customize or build them themselves.

    No matter what you decide to do, have fun. And if you’ve any questions, there’s plenty of documentation online or just ask. The selfhosting community is very welcoming towards new members ;)


  • Since your question is quite basic and general, I’ll try to answer equally.

    1. Hardware: For a single user instance a Pi 3B+ is sufficient. Still, Lemmy can take up some storage space over time because of the images. So make sure you don’t take the smallest SD card you have lying around. I assume you know how install an OS and get basic things running.

    2. Get a domain; there are many providers out there. Consider using a TLD of your country (e.g. .de, .fr). Domains are usually relatively cheap. You’re most likely running your Pi at home, so check if you have a static IP address or if you have a dynamic one. First one? Great, go ahead. Second one: Check if your domain provider offers an API to automatically update the DNS record; example provider api.

    3. Have a look at the Lemmy administration docs. Depending on your experience, it is relatively easy to setup. Make sure you understand what you’re doing, i.e. first get to know Docker for example, then follow the commands. If you don’t understand something, just ask or search online. Lemmy is not very complex to operate, so for every part of the deployment you should be able to find information online.

    4. Set up port forwarding in your router for ports 80 (HTTP) and 443 (HTTPS). You can find information for your specific router online, but for some routers this cannot be done.

    5. Get a SSL certificate for your domain. You can get one for free with Let’s Encrypt.

    6. Once you have your instance up and running, I would recommend setting it to “private” first. This way you can play around with your instance or reinstall if something goes wrong without having to worry about federation. Once you’ve federated (communicated with other instances, e.g. by subscribing to communities of other instances), you really shouldn’t reinstall!

    I hope this helps you with the first steps. Decide for yourself if you want to deal with maintenance and administration “long term”. It’s perfectly fine to use other instances and not host Lemmy yourself if you don’t feel up to it. After all, there is also a security aspect to consider. If you do: have fun with self-hosting!