← Back to projects

Self-Hosted Homelab

A full self-hosted infrastructure on an Arch Linux ThinkPad T480 with automated backups and secure remote access.

systems
Stack:Arch LinuxKDE/WaylandCaddyTailscaleSyncthingsystemdrsyncrclone

Problem

Wanted full ownership of personal data — photos, music, audiobooks, documents — without depending on subscription cloud services. Also needed a practical environment to learn Linux system administration, networking, and backup automation.

What I Built

A self-hosted infrastructure running on a Lenovo ThinkPad T480 with Arch Linux (KDE/Wayland). The setup hosts multiple services behind a Caddy reverse proxy with automatic HTTPS:

  • Immich — photo and video management (Google Photos replacement)
  • Jellyfin — media streaming
  • Navidrome — music streaming
  • Audiobookshelf — audiobook library
  • Kavita — ebook/manga reader
  • Syncthing — cross-device file synchronization
  • Tailscale — secure remote access via WireGuard mesh VPN

A 3-2-1 backup pipeline runs on systemd timers: local rsync snapshots, followed by rclone to MEGA for offsite redundancy.

Stack

  • OS: Arch Linux with KDE Plasma on Wayland
  • Reverse proxy: Caddy (automatic TLS)
  • Remote access: Tailscale (WireGuard mesh)
  • Sync: Syncthing
  • Backups: rsync + rclone/MEGA via systemd timers

What I Learned

  • Caddy’s automatic HTTPS with reverse proxy configuration is dramatically simpler than Nginx for self-hosted setups.
  • Tailscale eliminates the need to expose any ports to the public internet while still providing full remote access.
  • systemd timers are a more reliable and inspectable alternative to cron for scheduled backup tasks.

Outcome

A fully operational homelab serving media, files, and backups across multiple devices. All services accessible remotely via Tailscale without opening any firewall ports.