This guide was written for UberLab by me. This is just a copy but maybe it is more up-to-date due to the fact that is’s easier for me to update this site, than the UberLab. I am trying to keep both side up-to-date.


Cryptpad is a Zero Knowledge realtime collaborative editor. It is based on Node.js and comes with encryption. It relies on the ChainPad.


For this guide you need some tools:


Set up the backends:

[isabell@stardust ~]$ uberspace web backend set / --http --port 3000
Set backend for / to port 3000; please make sure something is listening!
You can always check the status of your backend using "uberspace web backend list".
[isabell@stardust ~]$

Now let’s get started with Cryptpad.

We’re using Node.js in the stable version 10:

[isabell@stardust ~]$ uberspace tools version use node 10
Selected Node.js version 10
[isabell@stardust ~]$

We also need Bower:

[isabell@stardust ~]$ npm install -g bower
[isabell@stardust ~]$


Start with cloning the Cryptpad source code from Github and be sure to replace the branch 2.21.0 with the current release number from the feed:

[isabell@stardust ~]$ git clone --branch 2.21.0 https://github.com/xwiki-labs/cryptpad.git ~/cryptpad
Cloning into '~/cryptpad'...
remote: Enumerating objects: 172, done.
remote: Counting objects: 100% (172/172), done.
remote: Compressing objects: 100% (105/105), done.
remote: Total 43165 (delta 99), reused 109 (delta 67), pack-reused 42993
Receiving objects: 100% (43165/43165), 85.51 MiB | 4.81 MiB/s, done.
Resolving deltas: 100% (30989/30989), done.
Note: checking out '135182ea0a3500d27afe0146c94e112e1726ae7e'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

Checking out files: 100% (4319/4319), done.
[isabell@stardust ~]$

Now we need to install some dependencies:

[isabell@stardust ~]$ cd ~/cryptpad
[isabell@stardust cryptpad]$ npm install
added 168 packages from 186 contributors and audited 311 packages in 14.352s
found 0 vulnerabilities
[isabell@stardust cryptpad]$ bower install
bower install       open-sans-fontface#1.4.2
bower install       jquery#2.1.4
bower install       bootstrap#4.3.1


Copy example configuration

[isabell@stardust cryptpad]$ cp config/config.example.js config/config.js

Edit config/config.js and change the value of the variable _domain to your domain, like so:

    globals module
var _domain = 'https://isabell.uber.space/';

Setup daemon

Create ~/etc/services.d/cryptpad.ini with the following content:

command=node server

Now let’s start the service:

After creating the configuration, tell supervisord to refresh its configuration and start the service:

[isabell@stardust ~]$ supervisorctl reread
SERVICE: available
[isabell@stardust ~]$ supervisorctl update
SERVICE: added process group
[isabell@stardust ~]$ supervisorctl status
SERVICE                            RUNNING   pid 26020, uptime 0:03:14
[isabell@stardust ~]$


For any futher configuration or customization you should have a look at the Cryptpad Wiki.


Check the update feed regularly to stay informed about the newest version

If there is a new version available, you can get the code using git. Replace the version number 2.19.0 with the latest version number you got from the release feed:

[isabell@stardust ~]$ cd ~/cryptpad
[isabell@stardust cryptpad]$ git pull origin 2.19.0
From https://github.com/xwiki-labs/cryptpad
 * tag                 2.19.0     -> FETCH_HEAD
Already up to date.
[isabell@stardust cryptpad]$

Then you need to restart the service, so the new code is used by the webserver:

[isabell@stardust cryptpad]$ supervisorctl restart cryptpad
[isabell@stardust cryptpad]$

Last test: with Cryptpad 2.24.0 and Uberspace

Articles from blogs I follow around the net

GnuPG: Web Key Directory (WKD) einrichten

1. Schlüsselfälscher Gefälschte Schlüssel sind ein echtes Problem bei der Nutzung von E-Mail-Verschlüsselung via PGP bzw. GnuPG. Jeder kann Fake-Keys für beliebige E-Mail-Adressen erstellen und diese auf die Keyserver hochladen. Mit diesem Dilemma hatte i…

via Kuketz IT-Security Blog September 11, 2019
How I decide between many programming languages

I have a few old standards in my toolbelt that I find myself calling upon most often, but I try to learn enough about many programming languages to reason about whether or not they’re suitable to any use-case I’m thinking about. The best way is to learn by d…

via Drew DeVault's Blog September 8, 2019
Restic mit Hetzner Storagebox nutzen

Die flexiblen und günstigen Storage Boxes von Hetzner eigenen sich wunderbar für Backups von Servern und Desktoprechnern. Ich nutze sie, um verschlüsselte Sicherungen meiner Server geografisch getrennt und sicher aufzubewahren. Das Backup-Tool Restic spie…

via thomas-leister.de September 7, 2019

Generated by openring