blob: e2836a6b75b0c6c37633ca9b3c65fae9fd1f22bd (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
|
---
# tasks file for pad
- name: Set up packages as root
become: true
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
- name: Install pnpm
community.general.npm:
name: pnpm
global: true
- name: Install Etherpad
include_role:
name: systemli.etherpad
- name: Install MySQL packages
apt:
name:
- mariadb-server
- mariadb-client
- python3-mysqldb
state: present
- name: Ensure mysql is configured to bind only to localhost
ini_file:
dest: /etc/mysql/my.cnf
section: mysqld
option: "bind-address"
value: "127.0.0.1"
- name: Ensure anonymous users are not in the database
mysql_user:
name: ""
host: "{{ item }}"
state: absent
with_items:
- localhost
- 127.0.0.1
- ::1
- "%"
- name: Start MariaDB
service:
name: mysql
state: restarted
enabled: yes
runlevel:
- 3
- 5
# - 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-lite
state: restarted
enabled: yes
- 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: "{{ etherpad_url }}/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: "{{ etherpad_url }}/api/1/createPad?apikey={{ etherpad_api_key }}&padID={{etherpad_year}}-{{ item.slug }}"
loop: "{{ talks | json_query('talks[*]') }}"
|