Skip to content

Homelab ⚗️

This project aims to build a homelab for personal testing on infrastructure, development, CI/CD, etc...

It provides a complete configuration with common web services using ansible as a deployment tool for both infrastructure (gateway, bastion and k3s cluster) and applications running mainly in Kubernetes.

It is a quick starting point for simple infrastructure needs or for testing various tools such as monitoring, alerting, automated deployment, security testing, etc...

Quickstart

Make sure all prerequisites are met.

Setup directory:

sh
# Clone the repository
git clone --depth 1 https://github.com/this-is-tobi/homelab.git && cd ./homelab && rm -rf ./.git && git init

# Copy inventory example to inventory
cp -R ./infra/ansible/inventory-example ./infra/ansible/inventory
cp -R ./kubernetes/ansible/inventory-example ./kubernetes/ansible/inventory

Infra

Setup inventory:

Install:

sh
# Install infra
./run.sh -p ./infra/ansible/install.yml -u -k

Kubernetes

Setup inventory:

Install:

sh
# Set kube context
kubectl config set-context homelab

# Install services
./run.sh -p ./kubernetes/ansible/services.yml -u