The last thing really missing on my Saturn Rack Software is a way to cleanly manage all the stuff in one spot. Up to this point, I have been all over the place, SSH’ing into each individual server to make changes, with each server having their docker compose stacks in sporadic places.

This project hopes to centralize this all under one git repo on my local computer, where I can manage every configuration file in one place. And, when I am done, I can run a new script sync.sh to use rsync to copy over all the config files to their respective machine, and rebuild.

This would also make the process of completing the Master Homelab Architecture overview note a lot easier, and I could use a LLM agent to scrape the relavant info from the repo for that note. Would still have to make the main Whiteboard.excalidraw diagram myself though.

A Rough Idea

What I have so far is this directory listing for the hosts:

β”œβ”€β”€ hosts
β”‚Β Β  β”œβ”€β”€ cyr
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ cyr.md
β”‚Β Β  β”‚Β Β  └── services
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ bin
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ homelab-dashboard
β”‚Β Β  β”‚Β Β      β”‚Β Β  β”œβ”€β”€ coredns
β”‚Β Β  β”‚Β Β      β”‚Β Β  β”‚Β Β  └── Corefile
β”‚Β Β  β”‚Β Β      β”‚Β Β  β”œβ”€β”€ docker-compose.yml
β”‚Β Β  β”‚Β Β      β”‚Β Β  β”œβ”€β”€ homepage
β”‚Β Β  β”‚Β Β      β”‚Β Β  β”‚Β Β  └── config
β”‚Β Β  β”‚Β Β      β”‚Β Β  β”‚Β Β      β”œβ”€β”€ bookmarks.yaml
β”‚Β Β  β”‚Β Β      β”‚Β Β  β”‚Β Β      β”œβ”€β”€ docker.yaml
β”‚Β Β  β”‚Β Β      β”‚Β Β  β”‚Β Β      β”œβ”€β”€ kubernetes.yaml
β”‚Β Β  β”‚Β Β      β”‚Β Β  β”‚Β Β      β”œβ”€β”€ proxmox.yaml
β”‚Β Β  β”‚Β Β      β”‚Β Β  β”‚Β Β      β”œβ”€β”€ services.yaml
β”‚Β Β  β”‚Β Β      β”‚Β Β  β”‚Β Β      β”œβ”€β”€ settings.yaml
β”‚Β Β  β”‚Β Β      β”‚Β Β  β”‚Β Β      └── widgets.yaml
β”‚Β Β  β”‚Β Β      β”‚Β Β  β”œβ”€β”€ nginx
β”‚Β Β  β”‚Β Β      β”‚Β Β  β”‚Β Β  └── nginx.conf
β”‚Β Β  β”‚Β Β      β”‚Β Β  β”œβ”€β”€ prometheus
β”‚Β Β  β”‚Β Β      β”‚Β Β  β”‚Β Β  └── prometheus.yml
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── README.md
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ nextcloud
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ obsidian_livesync
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── docker-compose.yml
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ ollama_middleware
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── docker-compose.yml
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ redirect
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── docker-compose.yml
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ rtl_sdr
β”‚Β Β  β”‚Β Β      └── snapdrop
β”‚Β Β  β”œβ”€β”€ ewanpi4
β”‚Β Β  β”œβ”€β”€ ewanpi5
β”‚Β Β  β”œβ”€β”€ talkamar
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ configuration.nix
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ services
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gitea
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── docker-compose.yml
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── personal-data
β”‚Β Β  β”‚Β Β  β”‚Β Β      └── docker-compose.yml
β”‚Β Β  β”‚Β Β  └── talkamar.md
β”‚Β Β  └── tysis
β”‚Β Β      β”œβ”€β”€ configuration.nix
β”‚Β Β      β”œβ”€β”€ homeassistant
β”‚Β Β      β”‚Β Β  └── docker-compose.yml
β”‚Β Β      β”œβ”€β”€ immich
β”‚Β Β      β”‚Β Β  └── docker-compose.yml
β”‚Β Β      └── tysis.md

However I would like to have stuff beyond the