A collection of Ansible roles to manage the various tasks in my homelab.
Find a file
commit-and-tag d4ecd548ee
All checks were successful
Create Release / Create Release (push) Successful in 29s
chore(release): 5.2.15
2025-03-19 17:54:28 +00:00
.forgejo/workflows chore(deps): update https://git.auengun.net/actions/forgejo-release action to v2.5.3 2025-02-25 22:28:00 +00:00
LICENSES ci: adjust ci to use more license information & sha for tracing 2024-12-10 20:40:44 -06:00
meta ci: adjust ci to use more license information & sha for tracing 2024-12-10 20:40:44 -06:00
roles chore(deps): update dependency smallstep/certificates to v0.28.3 2025-03-18 16:34:32 +00:00
.gitignore ci: adjust ci to use more license information & sha for tracing 2024-12-10 20:40:44 -06:00
.renovaterc.json5 ci: adjust ci to use more license information & sha for tracing 2024-12-10 20:40:44 -06:00
flake.lock ci: adjust ci to use more license information & sha for tracing 2024-12-10 20:40:44 -06:00
flake.lock.license ci: adjust ci to use more license information & sha for tracing 2024-12-10 20:40:44 -06:00
flake.nix docs: update command to make release notes 2024-12-10 20:51:24 -06:00
galaxy.yml chore(release): 5.2.15 2025-03-19 17:54:28 +00:00
Makefile ci: adjust ci to use more license information & sha for tracing 2024-12-10 20:40:44 -06:00
README.md ci: adjust ci to use more license information & sha for tracing 2024-12-10 20:40:44 -06:00

Ansible Collection auengun.homelab

A collection of Ansible roles to manage the various tasks in my homelab.

Collection Installation

Python/Poetry Dependencies

TODO: Document these better in version control with renovate.

If using Poetry, this is an example pyproject.toml snippet to install the required Python dependencies.

[tool.poetry.dependencies]
python = "^3.10"
ansible = "^9.2"
ansible-core = "^2.16"
jmespath = "^1.0.1"
passlib = "^1.7.4"

Ansible Galaxy - requirements.yml

Add the following snippet to Ansible Galaxy's requirements.yml file.

collections:
  - name: ssh://git@git.auengun.net/homelab/ansible-collection.git
    type: git
    # Note: it's better to pin to a commit than main.
    version: main

Then install using ansible-galaxy.

ansible-galaxy collection install -r requirements.yml

Roles

auengun.homelab.caddy

A systemd service wrapping a custom caddy binary enabling some rate limiting and other features for my common services.

Read the README.md for usage and configuration details.

auengun.homelab.common

A set of shifting common tasks for bootstrapping and setting up the many physical and virtual machines in my homelab.

Read the README.md for usage and configuration details.

auengun.homelab.dcaass

Wraps a docker-compose.yml with a systemd service and easy user overrides of the .yml config.

Read the README.md for usage and configuration details.

auengun.homelab.cron_healthcheck_script

Quickly wrap a basic shell script with a crontab schedule and Healthchecks.io alert.

Read the README.md for usage and configuration details.