Self-Hosted Homelab
A full self-hosted infrastructure on an Arch Linux ThinkPad T480 with automated backups and secure remote access.
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.