feat(searxng): added new role to install and configure searxng
This commit is contained in:
parent
768a8133b5
commit
63eab11b85
19 changed files with 923 additions and 0 deletions
|
@ -0,0 +1,106 @@
|
|||
---
|
||||
- name: install dependencies
|
||||
become: true
|
||||
ansible.builtin.apt:
|
||||
update_cache: true
|
||||
force_apt_get: true
|
||||
state: present
|
||||
cache_valid_time: 3600
|
||||
pkg:
|
||||
- build-essential
|
||||
- git
|
||||
- libffi-dev
|
||||
- libssl-dev
|
||||
- libxslt-dev
|
||||
- pkgconf
|
||||
- python3-babel
|
||||
- python3-dev
|
||||
- python3-virtualenv
|
||||
- python3-yaml
|
||||
- zlib1g-dev
|
||||
- name: gather facts
|
||||
ansible.builtin.include_tasks: gather_facts.yml
|
||||
- name: create service group
|
||||
become: true
|
||||
ansible.builtin.group:
|
||||
name: '{{ searxng_group }}'
|
||||
system: true
|
||||
state: present
|
||||
- name: create service user
|
||||
become: true
|
||||
ansible.builtin.user:
|
||||
name: '{{ searxng_user }}'
|
||||
group: '{{ searxng_group }}'
|
||||
shell: '/usr/bin/bash'
|
||||
home: '{{ searxng_install_dir }}'
|
||||
create_home: true
|
||||
system: true
|
||||
state: present
|
||||
- name: mark git repository as safe
|
||||
become: true
|
||||
ansible.builtin.shell: >
|
||||
git config --global --get safe.directory {{ searxng_git_dir }} ||
|
||||
git config --global --add safe.directory {{ searxng_git_dir }}
|
||||
- name: clone repository
|
||||
become: true
|
||||
ansible.builtin.git:
|
||||
repo: '{{ searxng_git_repository }}'
|
||||
dest: '{{ searxng_git_dir }}'
|
||||
single_branch: true
|
||||
version: '{{ searxng_git_version }}'
|
||||
- name: setup virtualenv
|
||||
become: true
|
||||
ansible.builtin.pip:
|
||||
requirements: '{{ searxng_git_dir }}/requirements.txt'
|
||||
virtualenv: '{{ searxng_install_dir }}/.venv'
|
||||
virtualenv_site_packages: true
|
||||
extra_args: '--use-pep517 --no-build-isolation -e {{ searxng_git_dir }}'
|
||||
- name: set ownership
|
||||
become: true
|
||||
ansible.builtin.file:
|
||||
path: '{{ searxng_install_dir }}'
|
||||
owner: '{{ searxng_user }}'
|
||||
group: '{{ searxng_group }}'
|
||||
mode: 'u=rwX,g=rX,o='
|
||||
recurse: yes
|
||||
follow: false
|
||||
- name: setup shell environment
|
||||
become: true
|
||||
ansible.builtin.lineinfile:
|
||||
path: '{{ searxng_install_dir }}/.profile'
|
||||
line: 'source {{ searxng_install_dir }}/.venv/bin/activate'
|
||||
search_string: 'source {{ searxng_install_dir }}/.venv/bin/activate'
|
||||
create: true
|
||||
mode: '0640'
|
||||
owner: '{{ searxng_user }}'
|
||||
group: '{{ searxng_group }}'
|
||||
state: present
|
||||
- name: setup configuration file
|
||||
become: true
|
||||
ansible.builtin.template:
|
||||
src: '../templates/settings.yml.j2'
|
||||
dest: '{{ searxng_install_dir }}/settings.yml'
|
||||
owner: '{{ searxng_user }}'
|
||||
group: '{{ searxng_group }}'
|
||||
mode: 'u=rw,g=r,o='
|
||||
- name: setup limiter configuration
|
||||
become: true
|
||||
when: (searxng_conf_server_limiter | default(True, True)) is truthy
|
||||
ansible.builtin.template:
|
||||
src: '../templates/limiter.toml.j2'
|
||||
dest: '{{ searxng_install_dir }}/limiter.toml'
|
||||
owner: '{{ searxng_user }}'
|
||||
group: '{{ searxng_group }}'
|
||||
mode: 'u=rw,g=r,o='
|
||||
- name: setup backend
|
||||
ansible.builtin.include_tasks: 'backend_{{ searxng_backend }}_setup.yml'
|
||||
- name: fix permissions
|
||||
become: true
|
||||
ansible.builtin.file:
|
||||
path: '{{ searxng_git_dir }}'
|
||||
owner: '{{ searxng_user }}'
|
||||
group: '{{ searxng_group }}'
|
||||
recurse: true
|
||||
state: directory
|
||||
- name: flush handlers
|
||||
ansible.builtin.meta: flush_handlers
|
Loading…
Add table
Add a link
Reference in a new issue