Operations grimoire/Etherpad: Difference between revisions

From Nasqueron Agora
(→‎API key issue: Path update to /var/dataroot)
No edit summary
Line 11: Line 11:
=== Procedure A - upgrade container ===
=== Procedure A - upgrade container ===
First, pull new image and remove old container on Equatower:
First, pull new image and remove old container on Equatower:
<source lang="console">
<syntaxhighlight lang="console">
$ docker pull nasqueron/etherpad
$ docker pull nasqueron/etherpad
$ docker stop pad
$ docker stop pad
$ docker rm pad
$ docker rm pad
$ rm /srv/etherpad/.ok*
$ rm /srv/etherpad/.ok*
</source>
</syntaxhighlight>


Then, on the Salt master, spin the new container:
Then, on the Salt master, spin the new container:


<source lang="console">
<syntaxhighlight lang="console">
$ cd /opt/salt/nasqueron-operations
$ cd /opt/salt/nasqueron-operations
$ salt docker-002 state.apply roles/paas-docker/containers/etherpad  
$ salt docker-002 state.apply roles/paas-docker/containers/etherpad  
</source>
</syntaxhighlight>


If something weird happens after the update:
If something weird happens after the update:
Line 33: Line 33:


=== Procedure B - upgrade code ===
=== Procedure B - upgrade code ===
<source lang="console">
<syntaxhighlight lang="console">
$ docker exec -it pad bash
$ docker exec -it pad bash
$ git pull
$ git pull
Line 44: Line 44:
[2016-08-25 00:40:24.711] [INFO] console - Your Etherpad version is 1.6.0 (45266f9)
[2016-08-25 00:40:24.711] [INFO] console - Your Etherpad version is 1.6.0 (45266f9)
</source>
</syntaxhighlight>


Check the two versions match.
Check the two versions match.
Line 69: Line 69:
This has been fixed by switching database to utf8mb4_bin:
This has been fixed by switching database to utf8mb4_bin:


<source lang="mysql">
<syntaxhighlight lang="mysql">
ALTER DATABASE `etherpad` CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
ALTER DATABASE `etherpad` CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
ALTER TABLE `etherpad.store` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
ALTER TABLE `etherpad.store` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
</source>
</syntaxhighlight>


=== Missing plugins ===
=== Missing plugins ===
Line 87: Line 87:


On the Docker engine, API key should be available at /srv/pad/APIKEY.txt</code>
On the Docker engine, API key should be available at /srv/pad/APIKEY.txt</code>
Both are provisioned from Vault:
<syntaxhighlight>
</syntaxhighlight>


{{Vault secrets migration}}
{{Vault secrets migration}}

Revision as of 17:15, 2 March 2023

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 - upgrade container

First, pull new image and remove old container on Equatower:

$ docker pull nasqueron/etherpad
$ docker stop pad
$ docker rm pad
$ rm /srv/etherpad/.ok*

Then, on the Salt master, spin the new container:

$ cd /opt/salt/nasqueron-operations
$ salt docker-002 state.apply roles/paas-docker/containers/etherpad

If something weird happens after the update:

  • if you forget to remove /srv/etherpad/.ok-plugins, plugins won't be reinstalled
  • if you forget to remove /srv/etherpad/.ok-apikey, you'll get an API key issue (see below)
  • if you forget to remove /srv/etherpad/.ok-abiword, abiword won't be reinstalled

To use `rm /srv/etherpad/.ok*` on Equatower and then repplay the roles/paas-docker/containers/etherpad state works to fix the situation, as those three steps can be done when the container is live.

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

They are included in the nasqueron/etherpad 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:

Vault secrets migration.

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