Operations grimoire/Etherpad

From Nasqueron Agora
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Shared between Nasqueron and Wolfplex

The same Etherpad installation is served at two domains:

Upgrade

The easiest way is to spin a new container.

You can also upgrade code in the live container, updating Git code then restarting Node.

Procedure A - spin a new container

Build a new nasqueron/etherpad:production image.

Pull it on docker-002, run deploy-container etherpad to run Salt states.

Procedure B - upgrade code

$ docker exec -it pad bash
$ git pull

Updating 2e81b39..45266f9

$ logout
$ docker restart pad 
$ docker logs pad 

[2016-08-25 00:40:24.711] [INFO] console - Your Etherpad version is 1.6.0 (45266f9)

Check the two versions match.

Note most recent code lives in the develop branch, not the master one.

Maintenance tasks

Delete a pad

As no admin dashboard plugin is installed, there are two methods to delete a pad:

In the past, the few delete pad requests occurred for privacy reasons. Privacy is an acceptable justification to delete a pad.

Repair

There are scripts to delete a pad or to repair a corrupted pad.

Those are documented at https://github.com/ether/etherpad-lite/wiki/Getting-to-know-the-tools-in-bin

Past known issues

Instability

When a copy/paste was done, server could crash.

This has been fixed by switching database to utf8mb4_bin:

ALTER DATABASE `etherpad` CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
ALTER TABLE `etherpad.store` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

Missing plugins

The installation requires two plugins, provided as npm packages:

  • ep_ether-o-meter
  • ep_author_neat2

The plugins are now are included in the nasqueron/etherpad:production image.

API key issue

http://www.wolfplex.be/pad/ could be empty. When that occurs, the API key on this site diverges from ours.

They store their API on Ysul at /var/dataroot/wolfplex/secrets.json.

On the Docker engine, API key should be available at /srv/pad/APIKEY.txt

Both are provisioned from Vault:

salt docker-002 state.sls roles/paas-docker/containers/etherpad
ssh docker-002 docker restart pad
salt ysul state.sls roles/webserver-content/org/wolfplex/api