47 lines
1.7 KiB
YAML
47 lines
1.7 KiB
YAML
- name: Setup VPS
|
|
hosts: host.nc.chaoswg.org
|
|
gather_facts: false
|
|
vars:
|
|
state: running
|
|
base_domain: "tobiasmanske.de"
|
|
pre_tasks:
|
|
- name: Gather facts from all hosts
|
|
ansible.builtin.setup: {}
|
|
delegate_to: "{{ item }}"
|
|
delegate_facts: true
|
|
when: hostvars[item]['ansible_default_ipv4'] is not defined
|
|
tags:
|
|
- always
|
|
loop: "{{ groups['all'] }}"
|
|
- name: Assert a default ipv4 is known
|
|
ansible.builtin.assert:
|
|
that: hostvars[item]['ansible_default_ipv4'] is defined
|
|
quiet: true
|
|
loop: "{{ groups['all'] }}"
|
|
roles:
|
|
- {role: compose_project, service: traefik, with_fa: true}
|
|
- {role: compose_project, service: registry}
|
|
- {role: compose_project, service: pantalaimon}
|
|
- {role: compose_project, service: prometheus}
|
|
- {role: compose_project, service: minio}
|
|
- {role: compose_project, service: repo_proxy}
|
|
- {role: compose_project, service: gitea}
|
|
- {role: compose_project, service: gitea-runner}
|
|
- {role: compose_project, service: wireguard}
|
|
- {role: compose_project, service: hedgedoc}
|
|
- {role: compose_project, service: miniflux}
|
|
- {role: compose_project, service: matrix}
|
|
- {role: compose_project, service: radicale}
|
|
- {role: compose_project, service: search}
|
|
- {role: compose_project, service: syncthing}
|
|
- {role: compose_project, service: blog}
|
|
- {role: compose_project, service: linktree}
|
|
- {role: compose_project, service: caddy}
|
|
- {role: compose_project, service: diun}
|
|
- {role: compose_project, service: seafile}
|
|
- {role: compose_project, service: watchtower}
|
|
- {role: compose_project, service: wkd}
|
|
- {role: compose_project, service: wallabag}
|
|
|
|
# vim: ft=yaml.ansible
|