HomeLab

Mar 7, 2025 · 3 min read
Note

Still under development

Homelab is my personal server infrastructure used to manage self-hosted services, automate deployments, and ensure the privacy of my data. It grew out of my experience with a QNAP NAS, which became limited in resources and speed, and from my increasing interest in avoiding dependence on large IT companies’ services.

The system is based on two miniPCs running Proxmox and Proxmox Backup Server:

  • Main miniPC: i9 with 20 cores, 64 GB RAM, 2 TB storage. This is where all virtual machines run, depending on the services I want to deploy.
  • Secondary miniPC: less powerful, dedicated to Proxmox Backup Server to optimize storage and keep a second local copy of backups.
  • Encrypted remote backup: stored in a cloud provider, following the 3-2-1 backup strategy (three copies, two media types, one off-site).

Both the creation and configuration of virtual machines and the deployment of all services (via Docker containers) are fully automated using Ansible.

Services I currently use

ServiceUsage / what it is for
HomerDashboard to access all homelab services
Vaultwarden Streamline Icon: https://streamlinehq.comVaultwarden VaultWardenSelf-hosted password manager compatible with Bitwarden
AdGuard HomeInternal DNS with ad-blocking, malware protection, and tracking filters
Home AssistantHome automation platform for integrating and controlling devices
Z Wave Logo Streamline Icon: https://streamlinehq.com ZWaveControl and integration of IoT devices using the Z-Wave protocol
PeaNutUPS status monitoring through a web interface
Layer 1 OwnCloudFile storage, synchronization, and sharing
ImmichPrivate photo hosting with automatic backup and mobile sync
MemosLightweight, self-hosted note-taking app
LubeLoggerVehicle maintenance and expense tracking
Tandoor RecipesRecipe manager, meal planner, and shopping list system
Tailscale Streamline Icon: https://streamlinehq.comTailscale TailscaleMesh VPN for secure remote access without opening ports
MailRiseSMTP server that converts emails into notifications
AppRiseREST API to send notifications to more than 90 services
MailPitFake SMTP server for testing, with web UI to view emails
PortainerGUI to manage Docker containers and stacks
ActualBudgetPersonal finance manager based on envelope budgeting
TraefikReverse proxy and TLS certificate manager with Let’s Encrypt
AlertManagerMetrics-based alert routing and notifications
PrometheusSystem and service monitoring and metrics collection

Main goals achieved:

  • Secure remote access to all services without opening ports directly on the router.
  • Access to services through internal DNS with automatic TLS certificate issuance and renewal using Let’s Encrypt, avoiding exposed IPs and ports.
  • Organization of services by hardware resources and data criticality, defining backup frequency and retention.
  • Full control of my data, storage, and applications, replacing third-party services (Dropbox, Google Docs, Google Photos, Google Keep, etc).

homelab

by dicastro Jinja
Powered by Hugo Blox Builder - https://github.com/HugoBlox/hugo-blox-builder