- Add SearXNG syslog ingestion and blackbox health probes on miranda and rosalind for per-host attributable failure detection - Scrape Argos MCP application metrics from miranda - Add Pallas dashboard panels for downstream availability and turn error ratios
60 lines
1.5 KiB
YAML
60 lines
1.5 KiB
YAML
---
|
|
- name: Deploy SearXNG with Docker Compose
|
|
hosts: ubuntu
|
|
become: true
|
|
tasks:
|
|
- name: Check if host has searxng service
|
|
ansible.builtin.set_fact:
|
|
has_searxng_service: "{{'searxng' in services}}"
|
|
|
|
- name: Skip hosts without searxng service
|
|
ansible.builtin.meta: end_host
|
|
when: not has_searxng_service
|
|
|
|
- name: Create searxng group
|
|
ansible.builtin.group:
|
|
name: "{{searxng_group}}"
|
|
|
|
- name: Create searxng user
|
|
ansible.builtin.user:
|
|
name: "{{searxng_user}}"
|
|
comment: "{{searxng_user}}"
|
|
group: "{{searxng_group}}"
|
|
system: true
|
|
|
|
- name: Add group searxng to keeper_user
|
|
ansible.builtin.user:
|
|
name: "{{keeper_user}}"
|
|
groups: "{{searxng_group}}"
|
|
append: true
|
|
|
|
- name: Create searxng directory
|
|
ansible.builtin.file:
|
|
path: "{{searxng_directory}}"
|
|
owner: "{{searxng_user}}"
|
|
group: "{{searxng_group}}"
|
|
state: directory
|
|
mode: '750'
|
|
|
|
- name: Template configuration files
|
|
ansible.builtin.template:
|
|
src: "{{item.src}}"
|
|
dest: "{{searxng_directory}}/{{item.dest}}"
|
|
owner: "{{searxng_user}}"
|
|
group: "{{searxng_group}}"
|
|
mode: '550'
|
|
loop:
|
|
- src: "docker-compose.yml.j2"
|
|
dest: "docker-compose.yml"
|
|
- src: "searxng-settings.yml.j2"
|
|
dest: "searxng-settings.yml"
|
|
|
|
- name: Reset SSH connection to apply group changes
|
|
meta: reset_connection
|
|
|
|
- name: Start SearXNG service
|
|
community.docker.docker_compose_v2:
|
|
project_src: "{{searxng_directory}}"
|
|
state: present
|
|
pull: always
|