My self hosting journey in 2023

📆 · ⏳ 7 min read · ·

Introduction

Since this year in January I started my homelab journey, I have been trying to self host some services which are helpful for me in my day to day life and I am really happy with the results.

Today I want to share the list of services that I am self hosting and what I plan to explore in the upcoming year.

My mini homelab

Currently my homelab setup consists of 3 main components viz an old laptop (the first hardware which I used to start my homelab journey), a Raspberry Pi Zero 2W and a Raspberry Pi 5.

I have named these servers based on the characters of Jujutsu Kaisen ↗️ anime. The laptop is named as Sukuna, the Raspberry Pi Zero 2W is named as Suguru and the Raspberry Pi 5 is named as Satoru.

All the servers are running Debian 64-bit Operating System.

About Sukuna

Sukuna being the first server I started with, it has the most services running on it. Most of the services running on Sukuna are running in Docker containers.

Services on Sukuna

  • Docker ↗️ - Platform to run containers.
  • Jellyfin ↗️ with *arr suite - Media server to stream movies and TV shows. I have a handy docker-compose file if you want to try it out.
  • NextCloud ↗️ - Cloud storage to store my personal files.
  • FileBrowser ↗️ - While NextCloud is great for storing files, I tend to use FileBrowser for quick file transfers and viewing some files on the go.
  • Syncthing ↗️ - File syncing service to sync files between my mobile and server. So basically I backup my entire phone on this server.
  • Tailscale ↗️ - VPN to access my homelab from anywhere.
  • Node Exporter ↗️ - Prometheus exporter to monitor the server stats.

Mostly I started with the media services to stream movies and TV shows that were sitting on my harddrive from a long time and I never really got the time to watch them.

Since I started using Jellyfin, I have to say that its nice to finally watch those amazing movies that I have been missing out on. Plus Jellyfin is really easy to setup and use so I would highly recommend it.

About Suguru

Suguru was born when I had to decommission an old phone that I was running LineageOS ↗️ on. I decided to use the phone as a server and it was running Linux Deploy on it, however the phone was really old and the performance was starting to cause some troubles.

So when I saw Raspberry Pi Zero 2W available for sale, I decided to buy it and use it as a replacement for the phone and it has been working great so far.

Since Raspberry Pi Zero 2W is a low powered device, I have to be careful about what services I run on it. Currently I am running the following services on it.

Services on Suguru

  • Adguard Home ↗️ - DNS server to block ads and trackers. I was using Pi-hole ↗️ before and then I switched to Adguard Home to try it out and I just stayed with it.

    I did not notice any major difference between the two, however I like the UI of Adguard Home more than Pi-hole.

  • Nginx ↗️ - Reverse proxy to access all the services without having to remember the port numbers.

    I use Adguard Home DNS rewrites to map the domain names to the services running on each of these servers. Doing so I can access Jellyfin on Sukuna by going to jellyfin.sukuna.local and Adguard Home on Suguru by going to adguard.suguru.local.

  • Syncthing ↗️ - I have Syncthing installed on Suguru as well to sync some specific backup folders from my phone and bring them to Suguru.

    Here I have some script running which backs up these folders to Cloud using rclone.

  • Tailscale ↗️ - I have Tailscale installed on Suguru as well.

  • Node Exporter ↗️ - Prometheus exporter to monitor the server stats.

Apart from these services, I am running whole bunch of small scripts on Suguru which I use to automate some tasks. I will be writing a separate blog on that soon but these include scripts for backups, syncing configs between Adguard instances etc.

About Satoru

Satoru is the latest addition to my homelab — a Raspberry Pi 5 8GB. I got it recently and I am still exploring what all I can do with it.

Currently I am running the following services on it.

Services on Satoru

  • Podman ↗️ - Platform to run containers. This time I decided to try out Podman instead of Docker and I am really liking it so far.

  • Prometheus ↗️ - Monitoring service to monitor all the services running on my homelab. It captures metrics from all of the servers and stores them in a time series database.

  • Grafana ↗️ - Visualization service to visualize the metrics captured by Prometheus.

  • Node Exporter ↗️ - Prometheus exporter to monitor the server stats.

  • Tailscale ↗️ - Once again, I have Tailscale installed on Satoru as well.

  • Adguard Home ↗️ - I have another instance of Adguard Home (secondary) running on Satoru as well. I use this solely for redudancy purposes and sync the config between the two instances using adguardhome-sync ↗️.

  • Linkding ↗️ - A bookmarking service to store all my bookmarks. I have been using Bookmarks on Firefox for a long time but I wanted to try out something new and Linkding is really nice.

    I have imported all my existing bookmarks to Linkding and I am using it as my primary bookmarking service now. This is a very new addition but I am loving it so far and no complaints for the features that it provides.

    I wrote a specific blog about this in detail if you are interested in knowing more about it. Linkding: Self Hosted Bookmark Manager

This covers all the services that I am currently running on my homelab. I learned a lot while setting up these services and I am grateful for the amazing community that is out there to help me out when I got stuck anywhere.

What’s next?

There are couple of more services that I plan to explore in the upcoming year. I have been tracking the list of those on my Github Stars list ↗️ as well.

But one major thing that I want to explore is building NAS (Network Attached Storage) for my homelab.

I want to start with a simple setup and then slowly expand it as I learn more about it. I am still exploring the options for the hardware and the software that I want to use for this. If you have any suggestions, please let me know.

Once I have a NAS setup, I plan to move all my media files to it and then use Jellyfin to stream them from there. This will help me free up some space on my laptop and I can use it for other things.

With NAS I also plan to store all my backups and container volumes on it so that I can easily move them around if I ever have to change the hardware and free up some spaces on my servers.

I am very excited to explore this space in the upcoming year and I will be jotting down my learnings in the form of blogs so stay tuned for that.

Conclusion

Overall I have enjoyed my homelab and self hosting journey in 2023 and I am looking forward to explore more in the upcoming year(s).

I hope you enjoyed reading this blog and if you have any suggestions or feedback, please reach out to me on Twitter / x.com ↗️ or any other social media platforms 😊.

Until next time 👋🏽, Happy Homelabbing!

You may also like

  • # homelab# personal

    My self hosting journey in 2024

    2024 has been an amazing year for my homelab journey. From upgrading hardware to implementing Infrastructure as Code, and exploring new services, here is a recap of my self-hosting adventures this year.

  • # homelab# selfhosted

    Speedtest Tracker — Monitor your internet speed with beautiful graphs

    Speedtest Tracker is a self-hosted internet speed monitoring tool that helps you track your ISP's performance over time. Perfect for ensuring you're getting the speeds you're paying for.

  • # homelab# selfhosted

    Ntfy — Self-hosted push notification server for all your services

    Ntfy is a simple yet powerful pub-sub notification service that lets you send push notifications to your phone or desktop from any of your self-hosted services. Perfect for monitoring, alerts, and automation in your homelab.