Knowledge base of ~80+ markdown files across 14 domains (00-13), Logseq graph, hardware design files (KiCAD), infrastructure configs, and talas-wiki static site. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
136 lines
2.8 KiB
YAML
136 lines
2.8 KiB
YAML
---
|
|
# file: roles/postgres-explain-visualizer/tasks/install.yml
|
|
|
|
- name: "install npm"
|
|
apt:
|
|
name: npm
|
|
|
|
- name: "system group"
|
|
group:
|
|
name: pev
|
|
|
|
- name: "system user"
|
|
user:
|
|
name: pev
|
|
group: pev
|
|
home: /home/pev
|
|
|
|
- block:
|
|
- name: "remove old install backup dir /opt/pev_backup"
|
|
file:
|
|
path: /opt/pev_backup
|
|
state: absent
|
|
- name: "stop apache2"
|
|
systemd:
|
|
name: "apache2.service"
|
|
state: stopped
|
|
- name: "backup current install to /opt/pev"
|
|
copy:
|
|
remote_src: yes
|
|
src: /opt/pev
|
|
dest: /opt/pev_backup
|
|
when:
|
|
- pev_install_dir.stat.exists
|
|
- pev_update_now or global_update_now
|
|
- pev_current_version != pev_needed_version
|
|
|
|
- name: "/opt/pev"
|
|
file:
|
|
path: /opt/pev
|
|
state: directory
|
|
owner: pev
|
|
group: pev
|
|
notify: restart apache2
|
|
|
|
- name: "download from {{ pev_git_url }}"
|
|
git:
|
|
repo: https://github.com/dalibo/explain.dalibo.com
|
|
version: "{{ pev_needed_version }}"
|
|
dest: /opt/pev
|
|
become: true
|
|
become_user: pev
|
|
|
|
- name: "register version in /opt/pev/VERSION"
|
|
copy:
|
|
dest: /opt/pev/VERSION
|
|
content: "{{ pev_needed_version }}"
|
|
owner: pev
|
|
group: pev
|
|
|
|
- name: "npm install"
|
|
community.general.npm:
|
|
path: /opt/pev
|
|
become: true
|
|
become_user: pev
|
|
|
|
- name: "npm run build"
|
|
command: npm run build
|
|
args:
|
|
chdir: /opt/pev
|
|
become: true
|
|
become_user: pev
|
|
|
|
- name: "replace psycopg2-binary fixed version with latest version"
|
|
lineinfile:
|
|
dest: /opt/pev/requirements.txt
|
|
regexp: "^psycopg2-binary"
|
|
line: psycopg2-binary
|
|
|
|
- name: "pip upgrade pip in virtualenv"
|
|
pip:
|
|
name: pip
|
|
extra_args: --upgrade
|
|
virtualenv: /opt/pev/venv
|
|
virtualenv_command: /usr/bin/python3 -m venv
|
|
become: true
|
|
become_user: pev
|
|
when: not ansible_check_mode
|
|
|
|
- name: "pip install python requirements"
|
|
pip:
|
|
requirements: /opt/pev/requirements.txt
|
|
virtualenv: /opt/pev/venv
|
|
virtualenv_command: /usr/bin/python3 -m venv
|
|
become: true
|
|
become_user: pev
|
|
when: not ansible_check_mode
|
|
|
|
- name: "pip install gunicorn"
|
|
pip:
|
|
name: gunicorn
|
|
extra_args: --upgrade
|
|
virtualenv: /opt/pev/venv
|
|
virtualenv_command: /usr/bin/python3 -m venv
|
|
become: true
|
|
become_user: pev
|
|
when: not ansible_check_mode
|
|
|
|
- name: "/opt/pev/config.py"
|
|
template:
|
|
src: config.py.j2
|
|
dest: /opt/pev/config.py
|
|
owner: pev
|
|
group: pev
|
|
mode: 0644
|
|
register: conf
|
|
|
|
- name: "create or migrate database"
|
|
shell:
|
|
cmd: |
|
|
source venv/bin/activate
|
|
flask db upgrade
|
|
chdir: /opt/pev
|
|
args:
|
|
executable: /bin/bash
|
|
environment:
|
|
FLASK_APP: app
|
|
become: true
|
|
become_user: pev
|
|
|
|
- name: "/opt/pev/wsgi.py"
|
|
copy:
|
|
src: wsgi.py
|
|
dest: /opt/pev/wsgi.py
|
|
owner: pev
|
|
group: pev
|
|
notify: restart pev
|