Package Details: etherpad-lite 1:1.7.0-1

Git Clone URL: https://aur.archlinux.org/etherpad-lite.git (read-only)
Package Base: etherpad-lite
Description: Lightweight fork of etherpad based on javascript
Upstream URL: http://etherpad.org
Licenses: Apache
Conflicts: etherpad-lite-git
Submitter: onny
Maintainer: dvzrv
Last Packager: dvzrv
Votes: 28
Popularity: 0.276509
First Submitted: 2013-03-15 15:10
Last Updated: 2018-08-19 22:38

Pinned Comments

dvzrv commented on 2017-12-22 16:18

I updated to 1.6.2.

Please note: From now on, etherpad-lite is relying on systemd-tmpfiles and systemd-sysusers and the setting of a dynamic StateDirectory according to its service file. The scripts delivered by upstream are no longer run.

These new features make the package more secure, but the new way of installing it also renders its content static (i.e. the installation of plugins is currently not possible, as the installation folder is now owned by root).

Before the included npm package had the possibility to install all over the install directory, leading to folders and files not taken care of or cleaned up by pacman.

Although the new state is somewhat unfortunate, I hope you can appreciate it nonetheless from a viewpoint of this now being a "clean(er) install".

I referred to upstream about the changes to maybe inspire a change in the way plugins should be installed to a dedicated (settable) directory.

The way etherpad-lite is installed now is still far from being perfect.

Latest Comments

1 2 3 4 5 6 ... Next › Last »

dvzrv commented on 2018-06-18 22:50

@immae: Honestly, I would refrain from ever running npm as root.

That being said, I think, that the cleanest way would probably be to define a separate folder for the "user installed" packages, to not pollute the static set of packaged node packages, that come with the application. This directory for the user installed packages would need to be writable by the user running etherpad-lite (this should also never be root), ideally somewhere under /var/lib/etherpad-lite. Sadly, this has not yet been implemented upstream (which is barely keeping up with updating the security hole infested plugins, etherpad-lite is built from).

immae commented on 2018-06-18 06:57

I’ll answer my own question, maybe it can help other people with the same problem. So actually, etherpad tries to initialize each module, creating a .ep_initialized in each of them. This call hangs forever, thus making the whole thing hang too (for reference: src/static/js/pluginfw/plugins.js method callInit).

It turns out that most modules don’t have an initialization hook (I have 20 and none of them has it), so just touch-ing the .ep_initialized file of each module will unlock the process.

This permits at least to load a bunch of modules installed manually. It doesn’t solve every case, but it may help.

immae commented on 2018-06-18 05:40

Hello @dvzrv, Thanks for your packaging. The idea of making the /usr/share folder static is nice. However I tried to install plugins manually, doing npm install as root from the /usr/share/etherpad-lite, but the start of etherpad then stales waiting for something forever (and never listening).

Did you manage to do this kind of manual installation? You seem to suggest so in the github issue, but maybe I missed something. Modules installation seem to say it should work to just run this npm install (e.g. https://www.npmjs.com/package/ep_infopanel )

dvzrv commented on 2018-04-12 17:24

@schimicata: my bad, forgot to run updpkgsums. It's now fixed.

schimicata commented on 2018-04-12 11:10

upgrave from v1.6.3 to v1.6.5 fails with:

==> Validating source files with sha512sums...

etherpad-lite-1.6.5.tar.gz ... Passed
jquery-1.9.1.js ... Passed
etherpad-lite-sysusers.conf ... Passed
etherpad-lite-tmpfiles.conf ... Passed
etherpad-lite.service ... FAILED

==> ERROR: One or more files did not pass the validity check!

:: failed to verify etherpad-lite integrity

dvzrv commented on 2018-03-13 11:20

@GFdevelop why do you flag this out-of-date? There is no new release!

If there are problems with etherpad-lite, report them upstream. This is not a development platform!

dvzrv commented on 2018-02-03 16:26

Upgraded to 1.6.3.

The move of {APIKEY,SESSIONKEY}.txt to /etc/etherpad-lite was not very straight forward though. Currently it is not possible to put these files in the backup array, as they would have to be created for that first. Using an empty file for them doesn't work though [1].

Adding them to the backup array without being created leads to them being renamed to a .pacsave file every time.

So, there's no real benefit of them being in /etc/etherpad-lite for the time being (apart from a more strict folder permission).

Additionally, I've unset the specific $HOME directory for the etherpad-lite user (via sysusers.d).

[1] https://github.com/ether/etherpad-lite/issues/3317

dvzrv commented on 2018-02-03 14:20

Hmm, according to the devtools output, gnuplot is an uninstalled dependency. I just can't find the reference to it anywhere, so it might be a red herring. It's removed for the time being.

I'll push an update for 1.6.3 in a few minutes and include the move of the {SESSIONKEY,APIKEY}.txt to /etc/etherpad-lite.

Please keep that change in mind!

patrick.luehne commented on 2018-01-29 23:55

@dvzrv: According to the Wiki, the APIKEY.txt file is generated upon the first execution of Etherpad Lite [1]. Concerning the SESSIONKEY.txt, the Arch Wiki recommends setting the sessionKey configuration option in settings.json [2]. However, with the release of Etherpad Lite 1.5.5, this option seems to have moved to SESSIONKEY.txt according to the release notes [3].

From this point of view, it could make sense to treat both secrets as configurable by users and put them in /etc/etherpad-lite (that’s just my opinion).

That being said, I’d suggest leaving the permissions of /etc/etherpad-lite at 750, because the settings.json may contain secrets (database access, basic authentication, etc.).

[1] https://github.com/ether/etherpad-lite/wiki/HTTP-API

[2] https://wiki.archlinux.org/index.php/Etherpad-lite#Database

[3] https://github.com/ether/etherpad-lite/releases/tag/1.5.5

dvzrv commented on 2018-01-29 19:09

@patrick.luehne: I don't think it will. It seems, that they are automatically created by the application. I tried to figure out more about them and their handling upstream, but they either didn't understand my feature request regarding the state directory, or just haven't gotten around doing anything about it. Are the *KEY.txt files meant to be changed by the user?

Regarding the state directory: It will automatically be created upon first start of the application by the systemd service file. The user doesn't need to take care of it. The "standard" dirty.db will be moved there as well, because of the modification in the prepare() function.

Another thing, I'm currently elaborating is, whether chmodding /etc/etherpad-lite to 750 is maybe too restrictive...