This repository has been archived on 2024-02-10. You can view files and clone it, but cannot push or open issues or pull requests.
cpx-ansible/roles/docker_services/tasks/services/searxng.yml

84 lines
2.1 KiB
YAML

# vim: ft=yaml.ansible
---
- name: Create SearXNG volume directory
ansible.builtin.file:
path: "{{ services.searxng.volume }}"
owner: root
mode: u=rwx,g=rx,o=rx
state: directory
- name: Copy SearXNG settings.yml file
ansible.builtin.template:
src: settings.yml.j2
dest: "{{ services.searxng.volume }}/settings.yml"
owner: root
mode: u=rw,g=r,o=r
- name: Deploy SearXNG with Docker Compose
community.docker.docker_compose:
project_name: searxng
state: "{{ 'absent' if stop is defined and stop else 'present' }}"
restarted: "{{ stop is undefined or not stop }}"
remove_orphans: true
pull: true
definition:
version: '3.8'
services:
app:
image: searxng/searxng:{{ services.searxng.version }}
restart: always
environment:
SEARXNG_BASE_URL: https://{{ services.searxng.domain }}
networks:
default:
services:
aliases:
- searxng
tor:
aliases:
- searxng
volumes:
- "{{ services.searxng.volume }}:/etc/searxng:rw"
cap_add:
- chown
- setuid
- setgid
- dac_override
cap_drop:
- all
logging:
driver: json-file
options:
max-size: 1m
max-file: '1'
redis:
image: redis:{{ services.searxng.redis_version }}
restart: always
command: redis-server --save "" --appendonly "no"
tmpfs:
- /var/lib/redis
cap_add:
- setuid
- setgid
- dac_override
cap_drop:
- all
networks:
services:
external: true
tor:
external: true
- name: Add cron job to restart SearXNG every 12 hours
ansible.builtin.cron:
name: Restart SearXNG Docker container
minute: '0'
hour: '*/12'
user: root
job: docker restart searxng_app_1
cron_file: ansible_restart_searxng
state: present