From 3ba932209fc33206a28483d07fb0e108d1b16a2b Mon Sep 17 00:00:00 2001 From: jaseg Date: Mon, 4 Jul 2022 23:57:28 +0200 Subject: gerboweb: add deployment stuff --- gerboweb/ansible/gerboweb.yml | 86 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 gerboweb/ansible/gerboweb.yml (limited to 'gerboweb/ansible/gerboweb.yml') diff --git a/gerboweb/ansible/gerboweb.yml b/gerboweb/ansible/gerboweb.yml new file mode 100644 index 0000000..590d01b --- /dev/null +++ b/gerboweb/ansible/gerboweb.yml @@ -0,0 +1,86 @@ +--- +- name: Setup gerboweb + hosts: all + tasks: + - name: Set local facts + set_fact: + gerboweb_cache: /var/cache/gerboweb + + - name: Install packages into gerbolyze container + pacman: + name: python3,python-numpy,python-pip,imagemagick,pugixml,git,python,make,clang,rustup,cargo + state: present + + - name: Setup usvg + shell: cargo install usvg resvg + args: + creates: /usr/bin/usvg + + - name: Copy webapp sources + git: + repo: ../.. + dest: /var/lib/gerboweb + + - 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 + -- cgit