diff --git a/ansible/install-chat.yml b/ansible/install-chat.yml index 9fbe6b0..4e887a8 100644 --- a/ansible/install-chat.yml +++ b/ansible/install-chat.yml @@ -168,11 +168,11 @@ - name: Copy public room script template: src: templates/create_public_room.sh.j2 - dest: /home/pi/create_public_room.sh + dest: "/home/{{ butter_user }}/create_public_room.sh" mode: '0755' - name: Run the create_public_room.sh script - command: /home/pi/create_public_room.sh + command: "/home/{{ butter_user }}/create_public_room.sh" register: room_creation ignore_errors: false diff --git a/ansible/install-keanu-weblite.yml b/ansible/install-keanu-weblite.yml index 3d50f3c..bb3c288 100644 --- a/ansible/install-keanu-weblite.yml +++ b/ansible/install-keanu-weblite.yml @@ -3,39 +3,60 @@ hosts: all become: true tasks: - - name: Download pre-built keanu archive - get_url: - url: "https://guardianproject.dev/api/packages/butter/generic/keanu-weblite/latest/keanu-weblite-dev.tar.gz" - dest: /tmp - mode: '0644' + - 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: Create keanu-weblite web directory + - name: Ensure previous keanu-weblite temp directory is removed file: - path: "/var/www/html/chat" - state: directory - owner: www-data - group: www-data - mode: '0755' - recurse: yes + path: /tmp/keanu-weblite + state: absent + delegate_to: localhost - - name: Untar keanu-weblite - unarchive: - src: "/tmp/keanu-weblite-dev.tar.gz" - dest: "/var/www/html/chat/" - remote_src: yes - extra_opts: [--strip-components=1] + - 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: /var/www/html/chat/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: /var/www/html/chat/config.json + 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 @@ -51,3 +72,4 @@ name: lighttpd state: restarted when: not (is_vmdb2 | bool) +