churn/ansible/install-keanu-weblite.yml

76 lines
2 KiB
YAML
Raw Normal View History

2025-09-30 13:27:57 +01:00
---
- name: Install keanu weblite
hosts: all
become: true
tasks:
- name: Install Node.js 22 (needed for matrix-js-sdk)
shell: |
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt-get install -y nodejs
args:
executable: /bin/bash
- name: Ensure previous keanu-weblite temp directory is removed
file:
path: /tmp/keanu-weblite
state: absent
delegate_to: localhost
- name: Clone keanu-weblite repository (dev branch)
git:
repo: https://gitlab.com/keanuapp/keanuapp-weblite.git
dest: /tmp/keanu-weblite
version: dev
depth: 1
delegate_to: localhost
- name: Run npm install
shell: npm install
args:
chdir: /tmp/keanu-weblite
delegate_to: localhost
- name: Download keanu-weblite config file
get_url:
url: "{{ config_base_url }}/keanu-weblite-config.json"
dest: /tmp/keanu-weblite/src/assets/config.json
mode: '0644'
delegate_to: localhost
- name: Replace REPLACEME with butter_name in config.json
replace:
path: /tmp/keanu-weblite/src/assets/config.json
regexp: 'REPLACEME'
replace: "{{ butter_name }}"
delegate_to: localhost
- name: Run npm build with legacy OpenSSL option
shell: |
export NODE_OPTIONS=--openssl-legacy-provider
npm run build
args:
chdir: /tmp/keanu-weblite
delegate_to: localhost
- name: Copy build output to /var/www/html/chat
become: true
copy:
src: /tmp/keanu-weblite/dist/
dest: /var/www/html/chat/
- name: Set permissions for /var/www/html/chat
become: true
file:
path: /var/www/html/chat
owner: www-data
group: www-data
mode: '0755'
recurse: yes
- name: Restart lighttpd service
ansible.builtin.systemd:
name: lighttpd
state: restarted
when: not (is_vmdb2 | bool)