diff options
Diffstat (limited to 'ansible/roles/etherpad/tasks/main.yml')
| -rw-r--r-- | ansible/roles/etherpad/tasks/main.yml | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/ansible/roles/etherpad/tasks/main.yml b/ansible/roles/etherpad/tasks/main.yml new file mode 100644 index 0000000..8709049 --- /dev/null +++ b/ansible/roles/etherpad/tasks/main.yml @@ -0,0 +1,65 @@ +- name: Install PNPM and Git + community.general.apk: + name: + - pnpm + - git + +- name: Install tsx globally + ansible.builtin.shell: pnpm install --global tsx + register: pnpm_install_tsx + changed_when: "'Already up to date' not in pnpm_install_tsx.stdout" + environment: + PNPM_HOME: "{{ ansible_facts.env.HOME }}/.local/share/pnpm" + PATH: "{{ ansible_facts.env.PATH }}:{{ ansible_facts.env.HOME }}/.local/share/pnpm" + +- name: Checkout source code for latest etherpad release + register: etherpad_src + ansible.builtin.git: + repo: https://github.com/ether/etherpad.git + dest: "{{ etherpad_src_dir }}" + depth: 1 + version: master + +- name: Install etherpad settings + register: etherpad_settings + ansible.builtin.template: + src: settings.json + dest: "{{ etherpad_src_dir }}/settings.json" + mode: "640" + +- name: Install etherpad dependencies + register: etherpad_dependencies + changed_when: "'Already up to date' not in etherpad_dependencies.stdout" + ansible.builtin.command: + chdir: "{{ etherpad_src_dir }}" + cmd: pnpm install + +- name: Install etherpad service + register: etherpad_service + ansible.builtin.template: + src: openrc/etherpad + dest: /etc/init.d/etherpad + mode: "755" + +- name: Restart etherpad service and configure to start on boot + when: + etherpad_src is changed + or etherpad_service is changed + or etherpad_settings is changed + or etherpad_dependencies is changed + ansible.builtin.service: + name: etherpad + enabled: true + state: restarted + +- name: Start etherpad service and configure to start on boot + when: + not ( + etherpad_src is changed + or etherpad_settings is changed + or etherpad_service is changed + or etherpad_dependencies is changed ) + ansible.builtin.service: + name: etherpad + enabled: true + state: started |
