Package Details: etherpad-lite 1:1.6.3-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: 25
Popularity: 0.202063
First Submitted: 2013-03-15 15:10
Last Updated: 2018-02-03 16:26

Dependencies (9)

Required by (0)

Sources (5)

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

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

patrick.luehne commented on 2018-01-29 18:50

@dvzrv: On another note, would it make sense to symlink the APIKEY.txt and SESSIONKEY.txt to /etc/etherpad-lite instead of /var/lib/etherpad-lite?

To my mind, these two are more like configuration files than something that belongs to /var/lib. Additionally, /etc/etherpad-lite is already created with restrictive permissions in contrast to some /var/lib/etherpad-lite that users would create manually, perhaps forgetting to restrict the directory permissions to something different than 755.

patrick.luehne commented on 2018-01-29 18:46

@dvzrv: Many thanks for your quick response. This will clean up things for sure :).

dvzrv commented on 2018-01-29 18:44

@patrick.luehne: You are right. It's still a left over from the previous packager(s). I meant to check it out, but forgot. Will remove it in a new pkgrel!

patrick.luehne commented on 2018-01-29 18:13

Dear maintainers,

I wonder why gnuplot is listed as a dependency for etherpad-lite. I couldn’t find any reference to gnuplot in the source code hosted at GitHub. Additionally, gnuplot pulls a lot of dependencies such as gd, wxgtk2, gtk2, gstreamer, sdl, and qt5-svg, which usually aren’t installed on servers.

Would it make sense to remove gnuplot from the dependencies? If that’s not possible, it could also be turned into an optdep, for example.

On my personal server, I manually removed gnuplot as a dependency, and everything appears to run smoothly.

Best wishes, Patrick

twiggers commented on 2017-12-27 13:14

Aside from what dvzrv noted, the user that is running etherpad-lite changed to 'etherpad-lite' (originally 'etherpad') and the configuration files moved. This lead to some non-trivial breakages on my end (I need to move a postgresql database).

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.

All comments