ansible/privfrontends/playbook.yaml

77 lines
2.4 KiB
YAML

---
- name: Setup Caddy
hosts: privfrontends,core
tasks:
- name: Copy Caddyfile
ansible.builtin.template:
src: ./templates/Caddyfile.j2
dest: /etc/caddy/Caddyfile
mode: preserve
tags: caddy-non-update
- name: Copy per-server caddy extras
ansible.builtin.copy:
src: "./templates/{{ inventory_hostname }}/"
dest: /etc/caddy/
directory_mode: true
mode: preserve
tags: caddy-non-update
- name: Reload Caddy
ansible.builtin.service:
name: caddy
enabled: true
state: reloaded
tags: caddy-non-update
- name: Setup docker compose for privacy frontends
hosts: privfrontends
vars:
docker_services:
- librarian
- libreddit
- nitter
- teddit
- watchtower
tasks:
# community.docker does not support compose 2.0 right now.
# https://github.com/ansible-collections/community.docker/issues/216
- name: Update docker compose files and restart those with changes
ansible.builtin.include_tasks: docker-tasks.yaml
with_items: "{{ docker_services }}"
tags: docker
- name: Setup docker compose for privacy frontends (soleil+normal)
hosts: in,us,docker
vars:
non_pizza_docker_services:
- anonymousoverflow
- breezewiki
- gothub
- gothub-dev
- searxng
- hyperpipe
- rimgo
- safetwitch
- scribe
- simplytranslate
tasks:
# community.docker does not support compose 2.0 right now.
# https://github.com/ansible-collections/community.docker/issues/216
- name: Update docker compose files and restart those with changes (Privacy Frontends but without Pizza1)
ansible.builtin.include_tasks: docker-tasks.yaml
with_items: "{{ non_pizza_docker_services }}"
tags: docker
- name: Setup cron jobs
hosts: privfrontends
tasks:
- name: Restart invidious every hour
ansible.builtin.cron:
name: "hourly invidious restart"
special_time: hourly
job: "docker restart invidious-invidious-1 && curl https://healthchecks.projectsegfau.lt/ping/{{ invidious_hc_uuid }}"
tags: cron
- name: Restart teddit every hour
ansible.builtin.cron:
name: "hourly teddit restart"
special_time: hourly
job: "docker restart teddit && curl https://healthchecks.projectsegfau.lt/ping/{{ teddit_hc_uuid }}"
tags: cron