Skip to content

Repository files navigation

My HomeLab

AnsibleProxmox VEDockerBitwarden

LintGitleaks

LicenseLast Commit

Infrastructure as Code for my personal homelab.

The goal of this project is to build a reproducible, version-controlled and well documented homelab using Ansible as the primary automation tool.

Features

  • Infrastructure as Code with Ansible
  • Idempotent deployments
  • Secrets managed with Bitwarden CLI
  • Git-based configuration management
  • High Availability with Keepalived
  • Docker and bare-metal deployments
  • Proxmox VE & Proxmox Backup Server support
  • Zabbix monitoring

Infrastructure

HostHardwareRole
Proxmox VEMac mini 2018 • Intel Core i5-8500B • 16 GB RAMVirtualization Host
OpenMediaVaultRaspberry Pi 5 • 8 GB RAMNAS & Docker Host
Proxmox Backup ServerHP 255 G5 • AMD A6-7310 • 8 GB RAMBackup Server

Services managed by Ansible

ServicePlatformManagementPurpose
Proxmox VEBare MetalAnsibleHypervisor
Proxmox Backup ServerBare MetalAnsibleBackup Server
Technitium DNSDebian LXCAnsiblePrimary DNS Server (includes Keepalived for HA)
NPMplusAlpine LXC + DockerAnsibleReverse Proxy
FrigateDebian LXC + DockerAnsibleNetwork Video Recorder
Paperless-ngxDebian LXCAnsibleDocument Management
MosquittoDebian LXCAnsibleMQTT Broker
Zigbee2MQTTDebian LXCAnsibleZigbee Gateway
ntfyDebian LXCAnsiblePush Notifications
ZabbixDebian LXCAnsibleMonitoring
OpenMediaVaultRaspberry Pi 5AnsibleNAS Host (base system only)
AdminBookThinkPad T480AnsibleAnsible Control Node (admin workstation)

Services managed outside of Ansible

ServicePlatformManagementPurpose
Home AssistantHome Assistant OSApplianceHome Automation
OpenMediaVaultRaspberry Pi 5ApplianceNAS & Docker Host
ChronyOMV + Docker ComposeDocker ComposeLocal NTP Server
Fritz!Box Zabbix MonitoringOMV + Docker ComposeDocker ComposeFRITZ!Box Monitoring
JottyOMV + Docker ComposeDocker ComposeNotes Application
LinkwardenOMV + Docker ComposeDocker ComposeBookmark Manager
RadicaleOMV + Docker ComposeDocker ComposeCalDAV/CardDAV Server
Technitium DNS (Fallback)OMV + Docker ComposeDocker ComposeSecondary DNS Server (includes Keepalived for HA)

Scope

This repository serves as the single source of truth for my homelab infrastructure.

It contains the Ansible roles, inventories, variables and configuration required to deploy and maintain the managed systems.

Not every component is managed by Ansible. Some systems intentionally remain outside of Ansible because they are distributed as dedicated appliances or use their own management interface.

Managed by Ansible

  • Host configuration
  • System updates
  • Service configuration
  • Docker-based applications
  • Monitoring
  • High Availability
  • Infrastructure provisioning

Managed outside of Ansible

  • Home Assistant OS
  • OpenMediaVault
  • Docker Compose stacks running on OpenMediaVault
  • A Termux mobile dashboard script for quick operational access is available as Termux Commander

Roadmap

  • GitHub Actions
  • Hardware upgrade decision: Dell PowerEdge T440 vs. mini PC cluster (more RAM/CPU headroom)
  • Fix SSH password auth on piNAS (sshd_config include order issue, OMV-specific)
  • OPNsense firewall
  • Immich
  • Extended documentation

Getting Started

Clone the repository:

git clone https://github.com/HostisHumani/HomeLab.git
cd HomeLab

Create your global configuration:

cp group_vars/all.yml.example group_vars/all.yml

Adjust the inventory and Bitwarden items to match your environment.

Run the deployment:

ansible-playbook site.yml

License

MIT

About

Infrastructure as Code for my personal homelab using Ansible.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages