All projects

Home lab

Self-hosted Ubuntu server

Home lab logo
Role
Personal infrastructure
Year
2026

A repurposed laptop running as an always-on Ubuntu server: private cloud storage, monitoring, network-wide DNS filtering and a local AI chat, reachable from my devices over a private mesh VPN.

Containers sit behind a Caddy reverse proxy. Prometheus, Grafana, cAdvisor, Node Exporter and Uptime Kuma cover observability, AdGuard Home handles DNS, and a UFW firewall only admits essential traffic.

Home server
  1. Tailscale mesh
  2. Caddy + Docker services
  3. Prometheus + Grafana

Nextcloud · Open WebUI · AdGuard Home · UFW

  • Ubuntu
  • Docker
  • Caddy
  • Prometheus
  • Grafana
  • Tailscale
  • Nextcloud
  • AdGuard Home

Services

Nextcloud for files, served by Caddy with Nginx and PHP-FPM after migrating off Apache. Open WebUI talks to Ollama running on my desktop GPU. MariaDB and Redis listen on localhost only.

Monitoring

Prometheus scrapes Node Exporter, cAdvisor and an AdGuard exporter with seven-day retention. Grafana dashboards cover the system, containers and DNS analytics; Uptime Kuma tracks service health.

Network and security

A Tailscale mesh connects my devices. AdGuard Home serves DHCP and DNS with curated blocklists for network-wide ad and tracker blocking. The firewall denies incoming traffic by default, and containers update automatically each night.

Private by design: services are reachable only over the VPN, so there is no public demo.

AtlasMesh Real-time geospatial platform