EMZETT.
Login

Homelab and self-hosting: Running your own services at home

In short: A homelab is a small home server on which you run services such as file storage, media server or ad blocker yourself while learning a lot about technology.

In more detail: Instead of using everything from cloud providers, with self-hosting services run on your own hardware: an old laptop, a mini PC, a Raspberry Pi or a NAS. Advantages are control, learning and privacy; disadvantages effort, responsibility for security and backups and power costs.

In Depth

Typical services

  • Nextcloud: own file storage, calendar, contacts.
  • Jellyfin / Plex: media server for films and music.
  • Home Assistant: smart-home hub.
  • Pi-hole / AdGuard Home: ad blocker at DNS level.
  • Vaultwarden: password manager.
  • Gitea / Forgejo: own Git server.
  • Syncthing, Paperless-ngx (document archive), Immich (photos).

Technology

  • Hardware: frugal mini PC (Intel N100, a few watts idle), used business PC, Raspberry Pi 5, NAS.
  • Operating system: Debian or Ubuntu Server, Proxmox for virtual machines.
  • Containers: Docker Compose makes installation and updates easy.
  • Access from outside: securely via VPN (WireGuard, Tailscale) rather than opening ports to the internet. If services should be public: reverse proxy (Caddy, Nginx) with HTTPS.

Security and operation

Regular updates, strong passwords and two-factor, as few open ports as possible, separate networks for home servers and devices (VLAN), backups following the 3-2-1 rule and tested restore. A server on the internet is scanned within minutes; unpatched software is ruthlessly exploited.

Getting started

Start small: a Raspberry Pi with Pi-hole or a mini PC with Docker and one service. Document configurations (ideally as files in Git). Mind power consumption (a 10-watt device costs about 30 euros a year), noise and heat. Anyone who wants to learn how networks, Linux and containers interact finds an ideal practice field here.

See also: Docker, WireGuard, NAS server, Backup strategy (3-2-1), Raspberry Pi