## Register reverse proxy - name: Ensure upstream directory exists ansible.builtin.file: path: "{{ searx_upstream_file_dir }}" state: directory mode: '0755' become: yes listen: "update searx upstream" - name: Update upstream template ansible.builtin.template: src: upstream.json.j2 dest: "{{ searx_upstream_file_dir }}/upstream.json" become: yes listen: "update searx upstream" # figure out if upstream id exists - name: check {{ stack_name }} upstream community.docker.docker_container_exec: container: "{{ caddy_container_id }}" command: > curl localhost:2019/id/{{ stack_name }}_upstream/ changed_when: False register: result become: yes listen: "update searx upstream" # upstream already exists, patch it - name: remove old {{ stack_name }} upstream community.docker.docker_container_exec: container: "{{ caddy_container_id }}" command: > curl -X DELETE localhost:2019/id/{{ stack_name }}_upstream/ become: yes when: (result.stdout | from_json)['error'] is not defined listen: "update searx upstream" # upstream has to be created - name: add {{ stack_name }} upstream community.docker.docker_container_exec: container: "{{ caddy_container_id }}" command: > curl -X POST -H "Content-Type: application/json" -d @{{ searx_upstream_file_dir }}/upstream.json localhost:2019/config/apps/http/servers/{{ (searx_use_https == True) | ternary(caddy_https_server_name, caddy_http_server_name) }}/routes/0/ become: yes listen: "update searx upstream" - name: Ensure upstream directory is gone again ansible.builtin.file: path: "{{ searx_upstream_file_dir }}" state: absent become: yes listen: "update searx upstream"