Difference between revisions of "Operations grimoire/Etherpad"

From Nasqueron Agora
Line 5: Line 5:
  
 
== Upgrade code ==
 
== Upgrade code ==
 +
 +
The easiest way is to spin a new container.
 +
 +
You can also upgrade code in the live container, updating Git code then restarting Node:
 +
 
<source lang="console">
 
<source lang="console">
 
$ docker exec -it etherpad bash
 
$ docker exec -it etherpad bash
Line 19: Line 24:
  
 
Check the two versions match.
 
Check the two versions match.
 +
 +
Note most recent code lives in the develop branch, not the master one.
  
 
== Launch container ==
 
== Launch container ==

Revision as of 00:45, 25 August 2016

Shared between Nasqueron and Wolfplex

The same Etherpad installation is served at two domains:

Upgrade code

The easiest way is to spin a new container.

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

$ docker exec -it etherpad bash
$ git pull

Updating 2e81b39..45266f9

$ logout
$ docker restart etherpad
$ docker logs etherpad

[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.

Launch container

run-pad

Source script available at https://devcentral.nasqueron.org/P210.

Maintenance scripts

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

There 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_neat

We now install them in run-pad:

PLUGINS="ep_ether-o-meter ep_author_neat"

for plugin in $PLUGINS; do
        docker exec $INSTANCE npm install $plugin
done

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/wwwroot/wolfplex.be/.dat/secrets-api.json.

Normally, this is now handled by the following line from run-pad script: docker cp /data/etherpad/APIKEY.txt $INSTANCE:opt/etherpad-lite/APIKEY.txt

Configuration as code.

This service should be properly defined in rOPS repository as a Salt state.

Vault secrets migration.

This service have secrets. They should be properly migrated in Vault.