infra/roles/gallery/tasks/main.yml

51 lines
1.0 KiB
YAML

---
- name: Install nginx
apt:
name: [nginx, git, python3, python3-venv]
state: present
- name: Gallery user
user:
name: "{{ gallery_user }}"
system: yes
home: "{{ gallery_home }}"
- name: Clone gallery repo
git:
repo: "{{ gallery_repo }}"
dest: "{{ gallery_home }}/repo"
register: clone_repo
- name: pip install sigal
pip:
name: sigal
virtualenv_command: /usr/bin/python3 -m venv
virtualenv: "{{ gallery_home }}/venv"
- name: Ensure sigal can write in its output dir
file:
path: "{{ gallery_home }}/repo/_build/"
state: directory
owner: "{{ gallery_user }}"
mode: 0755
- name: Build gallery
when: clone_repo.changed
command: "{{ gallery_home }}/venv/bin/sigal build"
args:
chdir: "{{ gallery_home }}/repo"
become: true
become_method: su
become_user: "{{ gallery_user }}"
become_flags: "-s /bin/sh"
- name: Configure nginx
template:
src: nginx-vhost
dest: "/etc/nginx/conf.d/{{ gallery_domain }}.conf"
owner: root
group: root
mode: 0644
notify: reload nginx