Operations grimoire/Etherpad: Difference between revisions
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
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.