This is the repository for all my automations and notes for my homelab. Right now my homelab is running on two machines, one at my home and one at a hetzner dedicated server.
My home machine is hosting proxmox community edition, and it's the base for everything, where I have a few virtual machines. I give acess to my home machine using [my script for DDNS](https://github.com/luigieai/ddns-cloudflare-shell), as my domain is hosted in cloudflare.
## Terraform
I'm using nomad + terraform for automatic provisioning of my services. Everything I change or create I commit to the repo, and terraform will create the resources.
I have a nomad server running on my home machine, it's a single node server, and I'm using it for running containers, and for running some services that I need.
I'm using AdGuard for DNS hosting, it's a good substitute for pi-hole and while it's not a full dns server at his heart, the DNS Rewrite function enable me using local dns addresses properly, and I don't need anything more for now.
Right now I'm using [netbird](https://netbird.io/) for VPN, it's a good because uses wireguard, and it's easy to setup and use. But with my dedicated server In hetzner, probably I will switch to headscale later.
### Caddy
Caddy is my reverse proxy, with terraform I can easily deploy new endpoints with TLS for my local network.
### Icecast
I'm using icecast for streaming my live DJs sets for my friends.
### Kavita
Kavita is my self-hosted ebooks server. Right I'm importing them manually and I will probably see If I will migrate this service to my dedicated server in hetzner.
### Keycloak
Keycloak is my identity provider, I'm using it for my local projects as I usually use openID and oauth2 for authentication. Right now there's no service in the homelab using it but it's very useful in my development enviroment.
At hetzner I "share" some personal services with my friends projetcs. But the basic infrascructure is running proxmox with NAT for an instance of pfSense for router. A traefik in a LXC for reverse proxy. And a nomad server with some jobs for running containers.