Homelab provisioning using opentofu + ansible playbooks. Services are (to be) run on Podman Quadlets.
Find a file
2025-10-14 12:17:23 +02:00
files
roles chore: added jellyfin specific nginx conf to role 2025-10-14 00:20:35 +02:00
.gitignore chore: added various terraform dirs to gitgnore 2025-10-14 12:17:23 +02:00
.terraform.lock.hcl
deploy.yaml cleanup: fixed role execution order and directory chmod permissions 2025-10-14 00:21:16 +02:00
inventory.yaml fix: set current static IP of VM, ensure jellyfin role restarts nginx container 2025-10-14 00:17:36 +02:00
LICENSE
main.tofu feat: add opentofu config with API endpoint and token redacted 2025-10-03 23:43:00 +02:00
provision.yaml cleanup: fixed role execution order and directory chmod permissions 2025-10-14 00:21:16 +02:00
README.md doc: minor expansion to README 2025-10-14 00:26:06 +02:00

proxmox-vms

Homelab provisioning using opentofu + ansible playbooks. Services are run on Podman Quadlets on Fedora Cloud VMs.

Usage

tofu apply

Wait until initial cloud-init provisioning is done and the VM reboots once. Then you can run the ansible playbook:

ansible-playbook -i inventory.yaml provision.yaml 

Copy over /secrets and /srv directories.

Run the ansible playbook:

ansible-playbook -i inventory.yaml deploy.yaml

dnf and podman are automatically updated, the dnf update also triggers a runsc update. SSH keys are provisioned by cloud-init, alongside disabling copy on write for BTRFS since the Proxmox Host uses ZFS, and there is no easy way to swap out Fedora cloud's default filesystem.