Adapted from cloudserve-infrastructure, implements a backup stack using restic. The actual backups have to be implemented by individual other roles but this sets up initialization, pruning and checking of a repository.
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
|
|
tasks:
|
|
- name: Install docker and docker compose
|
|
ansible.builtin.import_role:
|
|
name: geerlingguy.docker
|
|
tags: 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
|