You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible-homelab/playbooks/setup-homelab.yml

67 lines
1.4 KiB
YAML

---
- name: Update packages and ensure users on all hosts
hosts: all
become: true
pre_tasks:
- name: Update Packages
ansible.builtin.apt:
upgrade: dist
update_cache: true
roles:
- role: setup_users
- name: Install Docker on Docker hosts.
hosts: docker
become: true
roles:
- geerlingguy.pip
- geerlingguy.docker
- name: Install Portainer on Portainer host.
hosts: portainer
become: true
pre_tasks:
- name: Include vault variables.
ansible.builtin.include_vars: '../{{ vault_file }}'
tags: [always]
roles:
- role: setup_portainer
tags: [services, portainer]
- name: Setup and deploy services.
hosts: servers
become: true
pre_tasks:
- name: Include vault variables.
ansible.builtin.include_vars: '../{{ vault_file }}'
tags: [always]
roles:
- role: setup_mergerfs
tags: [mergerfs]
when: configure_mergerfs
- role: setup_samba
when: configure_samba
tags: [samba]
- role: setup_hosted_services
tags: [services]
- name: Setup home lab on linode instances.
hosts: linodes
become: true
pre_tasks:
- name: Include vault variables.
ansible.builtin.include_vars: '../{{ vault_file }}'
tags: [always]
roles:
- role: setup_samba
tags: [samba]
- role: setup_docker
tags: [docker]
- role: setup_hosted_services
tags: [services]