blob: b720b40b35680fce239782de521e752c4f9cc374 (
plain) (
tree)
|
|
---
# tasks file for pad
- name: Set up packages as root
block:
- name: Add GPG
apt:
update_cache: yes
name:
- gpg
- sudo
- name: Add nodesource key
apt_key:
id: 2F59B5F99B1BE0B4
keyserver: keyserver.ubuntu.com
state: present
- name: Add nodesource repository
ansible.builtin.apt_repository:
repo: deb https://deb.nodesource.com/node_20.x nodistro main
update_cache: yes
- name: Install packages
apt:
update_cache: yes
name:
- git
- systemd
- sudo
- nodejs
- mariadb-server
- mariadb-client
state: present
- name: Create etherpad user
user:
name: etherpad
home: /home/etherpad
shell: /bin/bash
state: present
- import_tasks: mariadb.yml
become: true
- name: Set up etherpad as the etherpad user
tags: etherpad-src
become: true
become_user: "{{ etherpad_user }}"
block:
- name: Install etherpad
git:
repo: https://github.com/ether/etherpad-lite.git
dest: "{{ etherpad_path }}"
version: v1.9.7
depth: 1
- name: Configure etherpad
template:
src: templates/settings.json
dest: "{{ etherpad_path }}/settings.json"
- name: Install dependencies
shell: cd {{ etherpad_path }}; . src/bin/functions.sh; src/bin/installDeps.sh
# - name: Install etherpad plugins
# npm:
# name: ep_scrolltoanchor
# path: "{{ etherpad_path }}"
- name: Change ownership
file:
dest: /home/etherpad/etherpad
owner: "{{ etherpad_user }}"
group: "{{ etherpad_group }}"
recurse: true
- name: Set etherpad API key
copy:
content: "{{ etherpad_api_key }}"
dest: "{{ etherpad_path }}/APIKEY.txt"
owner: "{{ etherpad_user }}"
mode: "0600"
- name: Install init.d configuration
tags: system
become: true
template:
src: etherpad.init.d
dest: /etc/init.d/etherpad
owner: root
group: root
mode: 0755
when: use_initd
- name: Install systemd configuration
tags: system
become: true
template:
src: etherpad.service
dest: /etc/systemd/system/etherpad.service
owner: root
group: root
mode: 0755
when: not use_initd
- name: Restart Etherpad
become: true
service:
name: etherpad
state: restarted
- tags: create-pads
include_vars:
file: talks.json
name: talks
- name: Set slugs
tags: create-pads
set_fact:
slugs:
- name: Wait for OK
tags: create-pads
uri:
url: "https://{{ etherpad_server_name }}/api/1/createPad?apikey={{ etherpad_api_key }}&padID={{etherpad_year}}"
register: _result
until: _result.status == 200
retries: 720
delay: 5
- debug:
var: _result
tags: create-pads
- name: Create pads
tags: create-pads
uri:
url: "https://{{ etherpad_server_name }}/api/1/createPad?apikey={{ etherpad_api_key }}&padID={{etherpad_year}}-{{ item.slug }}"
loop: "{{ talks | json_query('talks[*]') }}"
|