Learning How to Selfhost
Here's what I generally recommend:
- Get a Linux box setup on your homelab (I like Debian). You don't need a fancy computer any old thing will work fine. Learn the basics of the command line, adding/removing packages, starting/stopping services, accessing via ssh, reading and understanding log files etc.
- Install Docker. Learn the basics of running containers.
- Install PiHole or AdGuardHome (I like AGH). Learn how to add custom DNS records.
- Update your DHCP server to assign PH/AGH as the DNS server for all clients on your homelab. Woo, free ad blocking for everyone!
- Setup Navidrome or Jellyfin.
- Get a domain name.
- Set up a reverse proxy (I like Caddy) so you can reach Navidrome at
music.yournewdomain.com
or Jellyfin atmedia.yournewdomain.com
.
Depending on how much you already know, expect this to take weeks or months. Be ready to break things. Read the documentation. It's okay to delete things and start again. Read the logs when things don't work. Learn how to ask good questions and use AI and r/selfhosted to get help when you get stuck.
But most of all, be persistent. Do each thing until it's done. It's okay to take a break, but don't give up as soon as things get hard or bounce to something you already know how to do. You learn by doing the hard things.
I've been a professional sysadmin since the 90s, and sometimes it takes me days or weeks to figure out something new. Your frustration is a source of power, use it! :-)
When you've completed all six steps for the first time, tear it all down and see how fast you can rebuild it. Some things that were easy the first time will be hard, and lots of things that were hard will be easy.
Congratulations, you're a selfhoster. You now have the basic skills to host whatever you want. Teach someone else what you've learned.
PS. Don't forget, this is a hobby, it's supposed to be fun!
Loading comments...