Early impressions of CryptPad on a Raspberry Pi

Every so often, I want to collaboratively edit a document with someone. It’s not a daily thing, but perhaps every couple of weeks.

I’ve used Collabora Online for this, but my most recent set-up was not very stable. I didn’t dig too much into it, but it needed restarting pretty much every time I went to use it, which was unsustainable.

Enter CryptPad.

CryptPad says that it provides:

a full-fledged office suite with all the tools necessary for productive collaboration. Applications include: Rich Text, Spreadsheets, Code/Markdown, Kanban, Slides, Whiteboard and Forms.

Now, all of those sound great - forms, in particular - but rich text doesn’t quite cut it for my needs. I want to be able to collaboratively edit .odt and, more realistically, .docx documents, which have most probably been created somewhere else.

And I want tracked changes.

As luck would have it, I stumbled across this forum post, which said:

There is no plan to implement tracked changes in Rich Text. However, it’s a functionality of our new early-access Document app.

Okay! This sounded promising.

Installing CryptPad

I installed CryptPad on a Raspberry Pi 4 running Debian 11. My usual set-up.

The installation was pretty straightforward - at least, sufficiently straightforward that I didn’t make any notes of the process.

I have nginx in front of it, as a reverse proxy, doing TLS termination, and it is hooked in to systemd.

I referred to this a couple of times, to check I was on the right path, but I didn’t run it as a script.

The outcome was a working CryptPad instance, with a suite of applications, including a Rich Text editor.

But no Documents application.

The “other” config file

I couldn’t find a way to enable early access in the main config settings. But there is a specific file for customisations, www/common/application_config_internal.js, and the setting is in there.

There are a couple of settings to tinker with, depending on what you want to be displayed where, and available to whom, but the file itself is well documented.

There is a manual describing this file, but it does not mention early access.

It’s impressive!

I’ve tried it a few times now, and, so far, I am impressed. It’s a capable editor - OnlyOffice - and the overall UI for CryptPad is pretty good.

A couple of friends have said that they struggled to edit the document using Safari on an iPad, but I haven’t looked into this any further.

Editing existing documents

I spent a bit of time trying to work out how to edit existing documents (e.g. a document someone had sent to me via a separate channel). While I could upload an existing document, it was uploaded as an object, capable of being downloaded but not edited.

The solution is to create a new document, and then use the File / Import functionality, which uploads your existing document. It’s not the most intuitive way of doing it, but it works, and that’s absolutely fine by me.

What’s it like on a Raspberry Pi?

So far, so good! I’m not going to have hundreds of users simultaneously editing tens of documents. It’s going to be occasional use by me, of one document at a time, with perhaps one or two other collaborators. And, in my testing so far, that has been fine.

One collaborator said it was rather slow, but, when I published a “test” document and encouraged people to tinker with it, the vast majority said it was a “real-time” experience, without lag. Which is great.


I have also had a play around with the Forms functionality. This is a really simple, convenient way of creating an input form, where you can specify what fields you want, and which are mandatory, and then share a link for people to complete it.

I’ve been using it for collecting addresses of those who want a decoded.legal Christmas card.

It’s a one-click operation to export the results to .csv, or else to the integrated Sheets application, which is very convenient.

I cannot find a way of deleting individual responses to a form, which is a bit of a nuisance. It looks like you have to keep all responses for as long as you keep the form active.