All projects
Linux

Home Server

An Ubuntu home server for self-hosted services. Docker, Tailscale, and scheduled backups keep it manageable and recoverable.

Screenshot of the published home server improvements journal
Project journal

Why I built it

The homelab gives me a place to operate services that do not disappear when a tutorial ends. It runs on Ubuntu and has to survive updates, storage pressure, network changes, and my own mistakes.

The system

Docker keeps application services isolated and repeatable. Tailscale provides encrypted private access without exposing an administrative interface to the public internet. Bash and cron handle recurring maintenance and backup jobs.

The work is intentionally ordinary: checking service health, reading logs, managing permissions, planning storage, and restoring data. Those habits transfer directly to larger production systems.

Operating rules

  • Services are defined rather than installed by hand
  • Remote administration stays on the private network
  • Backups run automatically and are inspected
  • Failures and maintenance are documented
  • Host changes are kept small and reversible

What it taught me

A healthy service is not the same as a recoverable service. Monitoring tells me what is happening now; tested backups tell me whether the system can return after something goes wrong.

View Markdown on GitHub