--- - name: prepare storage volume for approx when: approx_storage is defined vars: storage_volume: "{{ approx_storage | combine({'dest': approx_basepath}) }}" include_role: name: "storage/{{ approx_storage.type }}/volume" - name: install approx apt: name: approx state: present - name: make sure cache and tmp directories exist loop: - cache - tmp file: state: directory path: "{{ approx_basepath }}/{{ item }}" mode: 0700 owner: approx group: approx - name: generate approx config copy: content: | # ansible managed {% for name, remote in approx_backends.items() %} {{ name }} {{ remote }} {% endfor %} $cache {{ approx_basepath }}/cache dest: /etc/approx/approx.conf - name: create override directories for approx systemd units loop: - approx@.service - approx.socket file: state: directory path: "/etc/systemd/system/{{ item }}.d" - name: create appprox service override copy: content: | # ansible managed [Unit] CollectMode=inactive-or-failed [Service] Environment=TMPDIR="{{ approx_basepath }}/tmp" dest: /etc/systemd/system/approx@.service.d/ansible.conf notify: restart approx socket - name: create appprox socket override copy: content: | # ansible managed [Socket] ListenStream= ListenStream=127.0.0.1:19999 dest: /etc/systemd/system/approx.socket.d/ansible.conf notify: restart approx socket - name: make sure approx socket is started systemd: daemon_reload: yes name: approx.socket state: started - name: fix path to cache directory for cleanup cron script lineinfile: path: /etc/cron.weekly/approx regexp: '^cache=' line: 'cache={{ approx_basepath }}/cache' - name: configure nginx vhost vars: nginx_vhost: default: yes name: approx template: generic hostnames: - "{{ approx_hostname }}" locations: '/': proxy_pass: http://127.0.0.1:19999 include_role: name: nginx/vhost