I run a couple of self-hosted services from Raspberry Pi 5s:

  • Home Assistant for Home automation
  • Paperless-ngx for document management
  • Jellyfin for media on a couple of Raspberry Pi 4 in my home
  • Booklore for ebook management. I’m planning to move to Grimmory though as in the spring of 2026 there was a lot of drama around Booklore. The Booklore repository seems to be back up / public again but I haven’t checked on the current situation.
  • code-server for when I need to write code that lives in the homelab itself. It gives me access to a VS Code instance running in the server through browser.
  • Some custom web services and shell scripts for specific personal use

I use Tailscale to be able to connect to my services through a secure network without having to expose my home network to internet directly.

I use Caddy to configure the network so that I can use subdomains to point to my Raspberry Pi’s Tailscale IP address and to then point those to the right ports at localhost.

In /etc/caddy/Caddyfile, I define the following

https://jellyfin.hamatti.org {
	reverse_proxy localhost:8096
}
 
https://paperless.hamatti.org {
	reverse_proxy localhost:12345
}

and in my domain provider’s DNS console, I point jellyfin.hamatti.org to the IP address from my Tailscale network.

About homelabs in general