summaryrefslogtreecommitdiff
path: root/ansible/roles/etherpad/tasks
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2026-08-06 10:45:03 +0100
committerJoe Carstairs <me@joeac.net>2026-08-06 10:45:03 +0100
commit832f232972c65e7ebed62000aefe825cf8d8ff38 (patch)
tree5b378cffc7b985f2f2e9dd41ec188f9ddd994b60 /ansible/roles/etherpad/tasks
parent55100c1e0ffcd490b3e3257fe4e75296f4f32e62 (diff)
ansible-ise etherpad
Diffstat (limited to 'ansible/roles/etherpad/tasks')
-rw-r--r--ansible/roles/etherpad/tasks/main.yml65
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