If we only tag the geerlingguy docker 'role' as docker we do not always install the necessary python dependencies for later working with ansible docker compose and network roles. Applying the docker tag to them we can target '--tags=docker' on playbook run and be sure that all later roles will have the correct dependencies.
61 lines
1.4 KiB
YAML
61 lines
1.4 KiB
YAML
---
|
|
- name: Prepare incus server host
|
|
hosts: host_system
|
|
tasks:
|
|
- name: Prepare system
|
|
ansible.builtin.import_role:
|
|
name: system
|
|
tags: system
|
|
|
|
# FIXME: Role needs much fixup before it can run
|
|
# - name: Prepare incus
|
|
# ansible.builtin.import_role:
|
|
# name: incus-install
|
|
# tags: incus
|
|
|
|
# ansible-galaxy install geerlingguy.docker
|
|
- name: Install docker
|
|
hosts: instance_system
|
|
tags: docker
|
|
tasks:
|
|
- name: Install docker and docker compose
|
|
ansible.builtin.import_role:
|
|
name: geerlingguy.docker
|
|
|
|
- name: Install docker python requirements
|
|
ansible.builtin.package:
|
|
name: "{{ item }}"
|
|
state: present
|
|
loop:
|
|
- python3-yaml # for docker compose_v2
|
|
- python3-requests # for docker network
|
|
|
|
- name: Prepare all docker hosted containers
|
|
hosts: instance_system
|
|
tags:
|
|
- containers
|
|
tasks:
|
|
- name: Set up Caddy stack
|
|
ansible.builtin.import_role:
|
|
name: caddy
|
|
tags: caddy
|
|
|
|
- name: Set up Arr stack
|
|
ansible.builtin.import_role:
|
|
name: arr
|
|
tags: arr
|
|
|
|
- name: Set up Paperless stack
|
|
ansible.builtin.import_role:
|
|
name: paperless
|
|
tags: paperless
|
|
|
|
- name: Set up Grocy stack
|
|
ansible.builtin.import_role:
|
|
name: grocy
|
|
tags: grocy
|
|
|
|
- name: Set up Restic stack
|
|
ansible.builtin.import_role:
|
|
name: restic
|
|
tags: restic
|