The project contains a set of ansible playbooks use to setup (and manage) a personal homelab infrastructure. The homelab runs on a Raspberry Pi 4 running on Debian.
- Setup virtual environment using uv:
uv venv
source .venv/bin/activate
- Install python dependencies (incl. ansible):
uv pip install -r requirement.txt
- Use the
make
command runner to setup the homelab:
$ make
dry-run Dry-run default playbook
ping Ping all hosts
pre-commit Run pre-commit on all files
run Run default playbook run
vault-create Create the secret vault file vault
vault Edit the secret vault file vault
- Add hosts into the
hosts.ini
file (example):
[homelab]
heimdall ansible_python_interpreter=/usr/libexec/platform-python
-
Modify group vars file
group_vars/all/vars.yml
-
Create and edit vault secrets:
$ make vault-create
- Run
dry-run
orrun
to deploy the infrastructure.
$ make dry-run
Server management
- homer - A very simple static homepage for your server.
- portainer.io - A centralized service delivery platform for containerized apps.
- Watchtower - A container-based solution for automating Docker container base image updates.
- Wireguard - Self-hosted VPN (optional: or use alternative service, e.g. (OpenVPN)) or Tailscale.
- healthchecks - A cron monitoring tool written in Python & Django.
- rdiff - Reverse differential backup tool, over a network or locally (or use similar ideas).
Monitoring
- Glances - An Eye on your system.
- Munin
Media
- plex media server - Organizes video, music and photos from personal media libraries.
- FreshRSS - A free, self-hostable RSS feed aggregator.
File storage & Sharing
- nextcloud - ☁️ cloud Nextcloud server, a safe home for all your data.
- photoprism - Photos App powered by Go and Google TensorFlow 🌈 ✨.
- vaultwarden - Alternative implementation of the Bitwarden server.
Automation
- home assistant - My self-hosting infrastructure, fully automated from empty disk to operating services.
- grocy - Grocy is a web-based self-hosted groceries & household management solution for your home.
- Raspberry Pi 4 Model B 8GB: OKdo
- OS: Debian bookworm (12)
- Storage - (primary) Sandisk microSDXC 128GB (
/
,ext4
) - Storage - (data) ZFS pool ~40 TB (
/mnt/store/
)
- geerlingguy/ansible-for-devops - Ansible for DevOps examples.
- davestephens/ansible-nas - Build a full-featured home server or NAS replacement with an Ubuntu box and this playbook.
- notthebee/infra - IaC for my Linux/Unix machines
- awesome-selfhosted/awesome-selfhosted - A list of Free Software network services and web applications which can be hosted on your own servers
- khuedoan/homelab - Small and power efficient self-hosting infrastructure. Fully automated from empty disk to operating services
- abhilesh/self-hosted_docker_setups - A collection of my docker-compose files used to setup self-hosted services on Raspberry Pi 4 running 64-bit Raspberry Pi OS
- HQarroum/awesome-iot - 🤖 A curated list of awesome Internet of Things projects and resources.
- pfalcon/awesome-smarthome - Curated list of awesome SmartHome/Home Automation things (open and leaving users in control)
- microsoft/IoT-For-Beginners - 12 Weeks, 24 Lessons, IoT for All!
- frenck/awesome-home-assistant - A curated list of amazingly awesome Home Assistant resources.
- Hypfer/Valetudo - Cloud-free control webinterface for vacuum robots