Why I Fell Down the Self-Hosting Rabbit Hole (And Never Looked Back)

Why I Fell Down the Self-Hosting Rabbit Hole (And Never Looked Back)

First of all, why self-host?

Like many people, I was tired of relying on big tech companies for everything in my digital life. Privacy concerns, rising subscription costs, and lack of control over my own data are valid reasons... but honestly, that’s not why I started. I’m not a hardcore privacy advocate like many in self-hosting communities.

I started self-hosting because it looked cool 😎.

Think about it: someone visits your profile and sees your personal domain pointing to your own blog, or you share a file directly from your own server (via Gitea, FTP, etc.). For me, that’s the definition of cool.

But as with many hobbies, being cool isn’t enough to keep you going. It was a good motivation to start, but the real reason I continued is that I discovered something bigger.

At first, I just ran Gitea and a small file server. Then something changed—I realized there are tons of self-hosted open-source apps that are actually better than their million-dollar commercial alternatives. That was a turning point for me.

I used to think: “How can an open-source photo app or password manager compete with Google Photos or 1Password?”

Then I tried Immich and Vaultwarden, and that’s how the addiction started.

Why Self-Hosting is Fun (and Useful)

Yes, there are many open-source apps that outperform commercial ones. Searching for these gems, testing them, and building my own small ecosystem feels like designing a custom digital home. It’s fun, it’s personal, and sometimes I even learn skills that are useful in my professional work (as a developer or DevOps engineer).

My Self-Hosting Philosophy

For me, there are three golden rules:

  1. Keep it simple.
  2. Make it reproducible — I should be able to rebuild everything on a new machine in under an hour.
  3. Minimize system resources — that’s why I prefer Go- or Rust-based apps over heavy JavaScript or Python stacks.

My setup is straightforward: Docker + Docker Compose.

I don’t install apps directly on the host machine—it’s messy and hard to reproduce. Kubernetes (k3s) is also popular in self-hosting, but I find it unnecessarily complex for just one VPS. Even if I scale up to multiple servers, I’d probably go with Docker Swarm instead.

Some people use tools like Portainer for server management, but I stick to Docker Compose. A web interface feels unnecessary when YAML does the job just fine.

If you’re curious, I’ve published my setup here: https://github.com/aykhans/my-self-host-services


The Apps I Self-Host (and My Ratings)

1. Caddy 4.5 / 5.0
Web server and a reverse proxy with automatic HTTPS

Yes, it’s “just” a reverse proxy and web server—but for me, Caddy is absolutely essential. All my apps are routed through it.

The main reason I use Caddy instead of Nginx or Traefik is its automatic TLS support. The configuration also feels much easier to manage than Nginx. On top of that, it can serve as a regular web server, which I actually need for some of my projects.

Downside? It’s slower than Nginx in benchmarks. But unless you’re running a high-traffic, request-intensive server (which I’m definitely not), you won’t notice the difference. For a self-hosted setup, performance loss is basically invisible.

My only real complaint: the documentation could be better. Still, for my use case, Caddy scores 4.5 out of 5.

2. Gitea 4.0 / 5.0
Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD

Gitea is often debated in the open-source community due to some questionable commercial decisions (Reddit controversy, open letter). For hardcore open-source enthusiasts, this might be a dealbreaker.

That said, I still really like it. The UI/UX is extremely similar to GitHub—right down to Actions—which is great for me because I’ve used GitHub extensively. It’s also far lighter and easier to deploy than GitLab, which makes it perfect for a personal VPS.

There’s also Forgejo, a Gitea fork that positions itself as a democratic, non-profit alternative. Honestly, Gitea’s design feels slightly more polished right now, but I’ll probably switch to Forgejo eventually because of its stronger community governance.

So, not perfect, but still a solid 4.0/5.

3. Glance 5.0 / 5.0
A self-hosted dashboard that puts all your feeds in one place

Glance is just… beautiful. Easy to deploy, easy to use, and the documentation is great.

I use it to keep track of my server’s CPU, memory, disk usage, Docker container status, RSS feeds, and much more. For me, it simply does its job perfectly.

No downsides I can think of. Solid 5/5.

4. Immich 4.8 / 5.0
Self-hosted photo andvideo management solution

Immich blew me away. It includes machine learning models for face recognition, image categorization, and more. Deployment and management are straightforward, and in my opinion, it’s actually better than Google Photos—the interface is simpler and easier to use.

The only drawback is resource usage. Even when idle, its four containers (server, ML service, Postgres, Redis) consume around 800–900 MB of RAM. For a small VPS, that’s noticeable.

Still, functionality-wise, it’s one of my favorites. 4.8/5.

5. Memos 5.0 / 5.0
A modern, open-source, self-hosted knowledge management and note-taking platform designed for privacy-conscious users and organizations.

Memos isn’t like Notion. It doesn’t try to do everything—it just focuses on fast, simple, searchable note-taking. And that’s exactly what I want.

My notes are small, and I want to find them instantly after opening the app. Memos delivers. It uses ~20 MB of RAM, it’s easy to deploy, and it just works.

I’ve tried plenty of note apps: Notion (too heavy, and not open-source), Blinko (okay but buggy and resource-hungry), Outline (open-source but still way more than I need).

Memos is the first one that feels perfect for my workflow. 5/5.

6. SFTPGo 3.2 / 5.0
Fully featured and highly configurable SFTP server with HTTP/S Web UI and optional FTP/S and WebDAV

File servers are my weak spot. I’ve probably tested more than 30, and none really impressed me. Some (like Nextcloud) are too complex. Others are too minimal, missing even basic file-sharing features.

SFTPGo sits somewhere in the middle. It’s lightweight and uses fewer resources, but the documentation isn’t great, and its UI—while decent—lacks a proper PDF viewer. That’s important for me because I want people to be able to view shared files directly in the browser without downloading.

So it works, but it’s not ideal. If you know a better self-hosted file server that supports auth, sharing, and in-browser previews for PDFs, PNGs, JPGs, etc., please let me know in the comments.

For now: 3.2/5.

7. Slash 3.8 / 5.0
An open source, self-hosted platform for sharing and managing your most frequently used links

At its core, Slash is a simple URL shortener—but with a fantastic UI/UX, low resource usage, and easy deployment.

Why only 3.8? Because the free version has limits on the number of links you can create, and the “Pro” version (while open-source) feels a little restrictive. Still, it’s a great tool, and the design is top-notch.

8. Uptime Kuma 4.7 / 5.0
A fancy self-hosted monitoring tool

Uptime Kuma is well-known in the self-hosting world, and for good reason. The UI is modern, it supports tons of notification services, and it’s easy to use.

The only downside is resource usage—it’s not the lightest app on my server. But for what it does, it’s excellent.

Final score: 4.7/5.

9. Vaultwarden 5.0 / 5.0
Unofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs

This is one of the absolute best self-hosted apps out there. Rust makes it lightweight and efficient, it integrates perfectly with Bitwarden clients, and as far as I know, there have been no security scandals in its history.

It just works—and it works securely. Full marks: 5/5.

10. WG easy 5.0 / 5.0
The easiest way to run WireGuard VPN + Web-based Admin UI.

Running your own VPN isn’t about anonymity (your server IP is still visible)—but it’s incredibly useful. I mainly use it for bypassing blocked websites or when certain services block my home IP.

With WG Easy, I basically have a free, fast, unlimited VPN whenever I need it (well, free after paying for the server). It’s lightweight, ridiculously simple to use, and has a clean interface.

For me, it perfectly captures the spirit of self-hosting. 5/5.


That’s my self-hosting setup. For me, it started as a “cool project,” but now it’s a mix of fun, learning, and actual usefulness.

If you have suggestions for better apps (especially file servers 👀), let me know in the comments.

Thanks for reading 🚀