Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aleksanderbl29/ansible4homelab
Ansible config for my homelab
https://github.com/aleksanderbl29/ansible4homelab
ansible homelab homelab-automation
Last synced: about 1 month ago
JSON representation
Ansible config for my homelab
- Host: GitHub
- URL: https://github.com/aleksanderbl29/ansible4homelab
- Owner: aleksanderbl29
- License: gpl-3.0
- Created: 2023-10-31T18:57:40.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-22T21:48:24.000Z (4 months ago)
- Last Synced: 2024-08-22T23:36:09.579Z (4 months ago)
- Topics: ansible, homelab, homelab-automation
- Homepage:
- Size: 170 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ansible4homelab
Ansible config for my homelab
## To do
I want to implement these features:
### Larger and structural features
- [ ] Automatic testing of the playbook with molecule in Github Actions
- [ ] Ability to use same playbook for continuous deployment (CD) triggered from updates to my [homelab](https://github.com/aleksanderbl29/homelab) repository here on Github### Move manual deployment to ansible
- [ ] [Configuration for Uptime Kuma](https://github.com/aleksanderbl29/ansible4homelab/issues/3)
## Steps
This playbook currently goes through these steps to deploy my entire homelab config
```mermaid
---
title: Initial deployment
---
flowchart TD
main("main.yml")
main_pre_tasks("Update apt cache")
main_tasks("Setup Docker
Clone Git Repos")
setup_docker("Ensure Docker is setup")
clone_repos("Clone homelab repository")
clone_ha_repo("Clone repository with config for Home Assistant")main --> main_pre_tasks
main_pre_tasks --> main_tasksmain_tasks --> setup_docker
main_tasks --> clone_repos --> |If hostname includes HA| clone_ha_repo
``````## Dependencies
This playbook currently uses two roles that I maintain for deploying [HyperHDR](https://github.com/aleksanderbl29/ansible-role-hyperhdr) and [a local radio for streaming vinyl records](https://github.com/aleksanderbl29/ansible-role-sonos-stream).
## Preparation
When running this playbook [here](./preparation.md) is a list of things that needs to be done first, e.g. collection tokens and creating secrets
## Credits
I have drawn a lot of inspiration from Jeff Geerling's work with ansible. I also use his book to learn ansible while moving my manual deployment to ansible.
The deployment of [HyperHDR](https://github.com/awawa-dev/HyperHDR) is adapted from [ztnel's work](https://github.com/ztnel/ambilight). I am very thankful for them as their work made it very easy for me to do.