--- - name: Set local facts set_fact: gerboweb_cache: /var/cache/gerboweb - name: Copy render script template: src: render.sh.j2 dest: /usr/local/sbin/gerbolyze_render.sh mode: ug+x - name: Copy vector script template: src: vector.sh.j2 dest: /usr/local/sbin/gerbolyze_vector.sh mode: ug+x - name: Install packages into gerbolyze container shell: arch-chroot "{{gerboweb_root}}" pacman -Syu --noconfirm python3 opencv hdf5 gtk3 python-numpy python-pip imagemagick unzip zip - name: Workaround for cairoffi problem shell: arch-chroot "{{gerboweb_root}}" pip install -U --upgrade-strategy=eager wheel # TODO maybe install directly from local git checkout? - name: Install gerbolyze shell: arch-chroot "{{gerboweb_root}}" pip install -U --upgrade-strategy=eager gerbolyze - name: Copy webapp sources synchronize: # FIXME: make this path configurable src: ~/gerbolyze/gerboweb/ dest: /var/lib/gerboweb/ rsync_opts: - "--exclude=/deploy" group: no owner: no - name: Create uwsgi worker user and group user: name: uwsgi-gerboweb create_home: no group: uwsgi password: '!' shell: /sbin/nologin system: yes - name: Template webapp config template: src: gerboweb.cfg.j2 dest: /var/lib/gerboweb/gerboweb_prod.cfg owner: uwsgi-gerboweb group: root mode: 0660 - name: Copy uwsgi config copy: src: uwsgi-gerboweb.ini dest: /etc/uwsgi.d/gerboweb.ini owner: uwsgi-gerboweb group: uwsgi mode: 0440 - name: Copy job processor systemd service config template: src: gerboweb-job-processor.service.j2 dest: /etc/systemd/system/gerboweb-job-processor.service - name: Enable uwsgi systemd socket systemd: daemon-reload: yes name: uwsgi-app@gerboweb.socket enabled: yes - name: Copy gerboweb cache dir tmpfiles.d config template: src: tmpfiles-gerboweb.conf.j2 dest: /etc/tmpfiles.d/gerboweb.conf owner: root group: root mode: 0644 register: tmpfiles_config - name: Kick systemd tmpfiles service to create cache dir command: systemd-tmpfiles --create when: tmpfiles_config is changed - name: Create job queue db file: path: "{{gerboweb_cache}}/job_queue.sqlite3" owner: root group: uwsgi mode: 0660 state: touch - name: Enable and launch job processor systemd: name: gerboweb-job-processor.service enabled: yes state: restarted