Introduction
Target
Build a Homelab Project, using ansible, to bring all main services that I use every day near to me. Learn ansible, docker, sla, backup strategies, highavailability, security and have fun with new projects like homeassistant and arrfamily with jellyfin.
Architecture Decision Record1 - adr
Decision: The entire project is build with ansible.
Why: I chose ansible o learn more. I already know terraform, terragrunt concepts and nothing ansible.
Decision: I do not choose kubernetes.
Why: I think it is more overhead than solution for now. I have only small and slow devices and kubernetes will take resources that are fundamentals to my workloads. If I have to choose, for now, a better solution, it will be a dockerswarm, but seeing my project today, I do not need it too.
I have a philosophy that, simples is better than headache. Today all the workloads and configurations are being setting by ansible within pipeline. Simple and works well.
Decision: Raspberries over standard computers
Why: Over all my graduating and master class years I worked with arduino , raspberries, esp32 and fpga devices. A have a lot of those and I do prefer those little devices which facility and create new projects with sensor and embedded projects.
General Architecture
I have a lot of boards like Raspberry Pies (and its variant), which is running local services like:
For cicd, I have:
- forgejo for local git server and pipeline.
network subject I have:
- pihole for local dns server for all devices and services; It runs along with
- traefik for ingress;
- vpn.
I am implement a better nas. I have tested some products for my project.
For security I use:
- vaultwarden for key manager;
I do have some observation modules like grafana and victoriametrics.
And automation and management I have:
- homeassistant to control all my smartdevices, zigbee, arduino, esp32, beaglebone, elementiv, iot devices… I have a lot of those;
- I used to use calibre but it not worked well.
Future
- I am plan to improve and increase my arrfamily. I need a automation to search and bring new books for my Reading Project.
- Today, my best raspberry pi which is an orangepi, it throttling with video media server. I have to buy a new device for those high process worload.
- I need a substitute for calibre for managing my ebooks . I am looking for a new solution that I can catalog all my physical books too. Go check a little bit of this in Reading Project.
- Much of my wireless devices are old. For exemple, today a raspberrypi1b has a armv6 32-bit processor and 100 base Ethernet2. For many workload, I had to rebuild/recompile to work. That is creating more trouble than solution for me today. Today it runs well some little services and a backup of pihole highavailability .
Footnotes
-
More about adr in official document. ↩
-
Oficial specs in raspberris site. ↩