Welcome to my homelab project. This repository contains configurations and documentation for my self-hosted infrastructure. The purpose of this homelab is to experiment with and manage various technologies and services in a controlled environment, emphasizing self-hosting, simplicity, and Infrastructure as Code (IaaC) principles.
Manifesto:
- Self-host services and data
- Keep it simple, stupid (KISS)
- Define Infrastructure as a Code (IaaC)
Primary homelab based on Proxmox cluster and virtualization:
My first homelab built on Raspberry Pi years ago:
Terraform defines the following resources:
- Linux containers (LXC) on Proxmox
- Virtual private server in Google Cloud Platform (GCP)
- Tailscale access control lists (ACLs)
- See terraform directory for more details
Ansible playbooks manage all the services and configurations, for example:
- Adguard DNS
- Apt Cacher NG
- Backup Ninja
- Docker
- Frigate
- Grafana
- Grafana Agent
- Gramps
- Hyperion NG
- Immich
- Kodi
- Loki
- Mailrise
- Mosqquitto
- NUT
- Omada Software Controller
- Paperless NGX
- Proxmox Backup Server
- Prometheus
- Raspotify
- RClone
- Samba
- SearXNG
- Shairport
- Stirling PDF
- Tailscale
- Traefik
- Transmission
- Uptime Kuma
- Vaultwarden
- Whoogle
- Zigbee2MQTT
- see ansible/roles for more
If code doesn't tell the whole story, documentation does. Here are some notes on various topics:
- Network: modems, routers, switches, access points
- Hardware: servers, disks, ups
- CCTV: cameras, motion detection
- IoT: ZigBee coordinators, sensors, switches
- Media: TV box, streaming, audio
- Proxmox: VMs and LXCs management
- SSH: Remote access to servers
- Home Assistant: Automations, dashboards
- Backup: Proxmox backup server
As always, I encourage you to visit my blog for more details https://mkuthan.github.io/tags/#homelab.