03 / Homelab

A platform for learning operations.

My homelab is a phased infrastructure project where I practice architecture, reliability, security, documentation, monitoring, and recovery.

Current platform

Small hardware, deliberate architecture.

The environment separates storage and application workloads while keeping access, backups, and monitoring part of the base design.

ComputeProxmox VE 9.2

Intel i7-8700 · 24 GB DDR4 · Debian VM and LXC workloads

StorageMirrored and separated

2 x 2 TB ZFS mirror · Sanoid snapshots · SSD-backed Docker data

ServicesPrivate cloud stack

Samba · Nextcloud · PostgreSQL · Uptime Kuma · Prometheus · Grafana

AccessPrivate by default

Tailscale policies · remote Windows and macOS access tested

Full roadmap

Built in phases, guided by a documented roadmap.

Completed phases show the platform already in use. Remaining phases capture the next infrastructure and automation experiments.

Phases 00-03

Foundation

00
Hardware & hypervisorValidation · Proxmox VE · storage planning
complete
01
Storage platformZFS mirror · datasets · SSD-backed workloads
complete
02
File servicesDebian LXC · Samba · user permissions
complete
03
Private remote accessTailscale · ACLs · cross-platform testing
complete
Phases 04-08

Services & operations

04
Application hostdocker01 · Docker Compose · SSD data disk
complete
05
Operations baselineUptime Kuma · Git-managed configuration
complete
06
Backup & recoveryVM backups · app archives · restore testing
complete
07
Private cloudNextcloud · PostgreSQL · Samba mounts
complete
08
ObservabilityPrometheus · Grafana · three exporter paths
complete
Phases 08.5-12

Current & next

08.5
Edge migrationPi services · network role · migration planning
queued
09
Secure ingressNginx · reverse proxy · Cloudflare Tunnel
queued
10
Portfolio V1Design · content · multi-page deployment
complete
11
Automation & CI/CDRepeatable configuration · testing · pipelines
planned
12
OrchestrationKubernetes · service scaling experiments
future

Current architecture

Two views of the running system.

The platform map shows where services live. The observability map follows the signals used to understand their health.

Map 01 / Platform

Workloads separated from storage.

One physical host, two focused guests, and a ZFS-backed data layer.

Physical hostProxmox VE 9.2Intel i7-8700 · 24 GB DDR4
CT 110fileserverDebian 13 · Samba · Tailscale

ZFS tank mirror2 × 2 TB · Sanoid snapshots

VM 100docker01Debian 13 · 4 vCPU · 6 GB RAM
Nextcloud 34PostgreSQL 17Uptime KumaPrometheusGrafana
Map 02 / Observability

Metrics become useful signals.

Infrastructure and container telemetry share one monitoring path, with endpoint checks alongside it.

Proxmoxpve-exporter
Debian hostsnode-exporter
ContainerscAdvisor
metrics
Collect & retainPrometheus 3.14
Query & visualizeGrafana 13.2
Independent health checksUptime Kuma monitors service endpoints

Operational proof

Tested beyond installation.

Each service is useful only when access, recovery, and visibility continue working outside the initial setup session.

Access

Remote file service proven

Samba access through Tailscale was tested from Windows and macOS clients in different cities, including account and share permissions.

Recovery

Backups restored, not assumed

The lab combines Proxmox backups, application archives, Git-managed configuration, and ZFS snapshots. An Uptime Kuma archive was restored successfully.

Visibility

Three telemetry paths unified

Proxmox, Debian hosts, and Docker containers report through dedicated exporters into Prometheus and Grafana, alongside endpoint health checks.

Edge & network lab

Experiments beyond the core host.

Camera, embedded, and network-service work extends the lab into physical devices and local infrastructure.

Validated

ONVIF camera network

Discovered three PoE cameras, validated ONVIF SOAP capabilities, and tested H.264 main and substream RTSP profiles.

ONVIFRTSPH.264PoE
Operational prototype

ESP32-S3 camera API

Built OV5640 health, status, and JPEG capture endpoints and completed a stable 100-request capture test for direct server ingestion.

ESP32-S3OV5640HTTP APIEmbedded

Operating principles

The installation is only the beginning.

I use each phase to practice the work that keeps a service understandable and dependable after it starts.

Make it observable

Health checks, host metrics, dashboards, and service-level visibility before adding more complexity.

Plan for recovery

ZFS snapshots, application backups, restore testing, and clear separation between data and workloads.

Limit exposure

Tailscale for private access today, with secure ingress and reverse-proxy work planned as its own phase.

Document the path

Commands, architecture decisions, changes, and troubleshooting notes are part of the deliverable.

Read the homelab case study