Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/steadywool/homelab-playbook
Configure homelab with Ansible
https://github.com/steadywool/homelab-playbook
ansible debian docker homelab proxmox self-hosted wireguard
Last synced: 22 days ago
JSON representation
Configure homelab with Ansible
- Host: GitHub
- URL: https://github.com/steadywool/homelab-playbook
- Owner: steadywool
- License: gpl-3.0
- Created: 2024-04-22T12:17:17.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-01-19T21:03:58.000Z (24 days ago)
- Last Synced: 2025-01-19T22:23:25.713Z (24 days ago)
- Topics: ansible, debian, docker, homelab, proxmox, self-hosted, wireguard
- Language: Jinja
- Homepage:
- Size: 4.13 MB
- Stars: 12
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🐋 Homelab Playbook
Manage my Homelab with Ansible.
![Homelab Schema](assets/homelab_schema.drawio.svg)
*Made with [Drawio](https://www.drawio.com/).*> [!NOTE]
>This Ansible project is designed to manage my infrastructure. Major changes are necessary to adapt to your needs.## 🚀 Installation
> [!WARNING]
> Important variables are present in `group_vars` and `host_vars`. You need to edit them to customize your installation.
> You must also edit the `inventory` file, playbooks and other files using hosts (like the Traefik config file).Firstly, install Ansible:
```
# apt install ansible
``````
# dnf install ansible
``````
# pacman -S ansible
```You can then clone this repository and enter it:
```
$ git clone https://github.com/steadywool/homelab-playbook.git
$ cd homelab-playbook
```> [!TIP]
> If you need a "sudo" password, use the `-K` (upper-case) argument.
> If you don't use SSH keys, add the `-k` (lower-case) argument.
> If you use an Ansible Vault, add the `-J` argument.All playbooks are in the `playbooks` directory. Choose one and execute it:
```
$ ansible-playbook playbooks/PLAYBOOK_FILE.yml
```## ✨ Configuration
You can perform partially run of playbook using tags.
You can list them with this command:
```
$ ansible-playbook playbooks/PLAYBOOK_FILE.yml --list-tags
```Then use them with the `-t TAG` parameter.
You can skip some tags using the `--skip-tags TAG` parameter.
You can also run playbooks on hosts of your choice with the `--limit HOST` argument.