My personal homelab config
This is my personal homelab config, as used in my real home. Given the nature of this project, as it applies only to me, external Pull Requests are not expected.
TL;DR:
Below is a general format for this repository:
/ansible/
- Ansible playbooks for easy maintenance for multiple servers/docker-images/
- Contains Dockerfiles for all custom or external docker images- Each docker image contains reusable general config
- Each docker image can be used in 1 or more docker-apps
/docker-apps/
- Reusable config for individual docker-apps, eg. PiHole- Each docker app contains reusable general config, including auxiliary services (eg. PiHole itself, Apache/Nginx reverse proxy, cron certificate manager, cron web backups, ...)
- Each docker app can be used in 1 or more docker-apps on individual servers
/docs/
- General documentation and installation guides/servers/
- Setup for individual physical servers
Common env variables:
HOMELAB_APP_TYPE
- Main app name (eg. pihole)HOMELAB_ENV
- Current env type, either dev or prodHOMELAB_APP_EXTERNAL_DOMAIN
- Local domain alias (eg. pihole.home)HOMELAB_HEALTHCHECK_URL
- Healthcheck URL to report CRON job statusHOMELAB_CONTAINER_VARIANT
- In case multiple containers of the same image are used in a single app, this differentiates between them- Credentials:
HOMELAB_APP_USERNAME
- Username (or email) for app loginHOMELAB_APP_PASSWORD
- Password for app login