This repo contains the code used to deploy and managing my various LXC's on Proxmox. Ansible is the main way I deploy things.
A huge HUGE thanks to IronicBadger/AlexKTZ for his infra GitHub repo. I learned a ton poking around that repo and some of the things are copied straight from there, so credit where credit is due.
- Python 3
ansible
installed on the systemjust
- Lazy install:
curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | sudo bash -s -- --to /usr/local/bin
- Lazy install:
Most of my servers are named after Shards of Adonalsium from my favorite fantasy series by Brandon Sanderson. So if you look at my roles you'll see a pattern.
- Adonalsium - Primary Proxmox Node
- Autonomy - Home Automation
- Cultivation - Misc. Media
- Dominion - Ansible primary dev/git
- Endowment - Media distribution/collection
- Honor - DMZ/Primary Adguard/Wireguard
- Preservation - Databases
- Ambition - Cloud VPS
Then my desktops are named after some of my favorite characters from the Cosmere: Kelsier, Vasher, and Szeth.
just install
- Installs a github hook to prevent uploading an unencrypted Ansible vault file, adds the Ansible Galaxy roles, and sets up the Ansible vault passwordjust boostrap
- Sets up the hosts with a main user and an ansible user that can run sudo without a passwordjust build_proxmox
- Creates all LXCs, sets up disks on Proxmox hostjust bootstrap HOSTNAME
- Bootstraps the indicated server/desktop/whateverjust build HOSTNAME
- Sets up the various machines
just encrypt
- Encrypts the Ansible vaultjust decrypt
- Decrypts the Ansible vault
just update
- Runs apt update and apt upgrade on the servers, and pushes an updated docker-compose.yml filejust docker
- Runs docker compose pull {{ containers }} and docker compose up -d {{ container }} on host and containers specified