+ ๐ A collection of "things" that manage my homelab.
! PLEASE NOTE:
! This repository is a work-in-progress. Use at your own risk!
๐ค Why set up this homelab?After moving to the other side of the world, I found myself in a job market where higher-level roles require different skills than Iโm used to. To adapt to this change, I've created this homelab setup to expand my knowledge from the cloud to on-prem. I'm primarly a DevOps Engineer who has been focused on the cloud, but this setup gives me the option to easily run my own services, written in various languages, that I'd like to try out. This is my first time setting up a homelab, so any feedback would be greatly appreciated! |
This repository needs a few values stored in AWS SSM Parameter Store
to function properly.
- Login to Proxmox UI.
- Navigate to
Datacentre
->Permissions
->API Tokens
->Add
. - Create a new token with the name
proxmox-api-token
; EnsurePrivilage Separation
, if using theroot@pam
user. - Copy the token value.
- Run the following, replacing
<token>
with the token value you've copied:
aws ssm put-parameter --name /homelab/proxmox/api-token --type SecureString --overwrite --value <token>
To get started with this repository, you need a Proxmox host. If you're unsure how to do this, click here.
This setup uses 3
Proxmox hosts, as of writing, which is dynamically configured in the inventory/main.py
. You would need to configure this file to match the number of servers you're running. See the inventory/README.md
for more information.
This repository also uses Ansible - you can see a collection of custom roles under ./roles/
that are used in both the ./proxmox-hosts/
& ./proxmox-services/
directories.
Once this all makes sense, and you've configured the inventory/main.py
for your needs, using a terminal, you can run:
make run-playbook
And this repository should do the rest.
# You can also run:
make
# or
make help
# To see a list of available commands in this repository.
-
Add IP addresses to known_hosts.
-
https://github.com/adelinofaria/homelab-iac-ansible/tree/main/roles/proxmox_kvm
Check out ./docs/references.md
for the list of references I've used to create and setup this repository - there's a lot.
This work is published under the MIT license.
Please see the LICENSE
file for details.