Nextcloud Desktop Client for the Raspberry Pi

10. Sep 2022

Situation: Raspberry Pi OS provides a Nextcloud Desktop Client out of the box, version 3.1.1.

Problem: This particular version does not work when you have E2EE enabled on the server. The client never starts to synchronize any files.

Solution: Compile the client (v3.6.50) by yourself and enjoy Nextcloud file sync plus E2EE. The following steps show how to do it.

Prepare

We're based on an up-to-date debian 11 bullseye desktop.

Some dependencies have to be met beforehand. Most of them can be installed with apt, but unfortunately not all. First, install some packages.

sudo apt install git cmake extra-cmake-modules qt5keychain-dev libsqlite3-dev libqt5websockets5-dev libqt5svg5-dev qtdeclarative5-dev qtquickcontrols2-5-dev libkf5archive-dev qtbase5-private-dev libqt5webengine-data libqt5webchannel5-dev qtpositioning5-dev qttools5-dev inkscape

And now, download packages which have to be installed manually, as they don't appear in the apt repositories anymore. This is for a 32bit OS! You can choose another debian mirror, of course.

wget https://debian.ethz.ch/debian/pool/main/q/qtwebengine-opensource-src/libqt5webengine5_5.15.2+dfsg-3_armhf.deb
wget https://debian.ethz.ch/debian/pool/main/q/qtwebengine-opensource-src/qtwebengine5-dev_5.15.2+dfsg-3_armhf.deb
wget https://debian.ethz.ch/debian/pool/main/q/qtwebengine-opensource-src/libqt5webenginecore5_5.15.2+dfsg-3_armhf.deb
wget https://debian.ethz.ch/debian/pool/main/q/qtwebengine-opensource-src/libqt5webenginewidgets5_5.15.2+dfsg-3_armhf.deb

Install the packages.

sudo dpkg -i ./libqt5webengine5_5.15.2+dfsg-3_armhf.deb ./qtwebengine5-dev_5.15.2+dfsg-3_armhf.deb ./libqt5webenginewidgets5_5.15.2+dfsg-3_armhf.deb ./libqt5webenginecore5_5.15.2+dfsg-3_armhf.deb

Note: on a 64Bit OS, please replace _armhf.deb with _arm64.deb in the package names above!

Build

If everything went smooth, we're ready to build the desktop client.

git clone https://github.com/nextcloud/desktop.git
cd desktop
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=~/nextcloud-desktop-client -DCMAKE_BUILD_TYPE=Debug

This will analyze if all dependencies are met and it will produce the Makefile. If there are still unmet dependencies, install them with apt and re-run the cmake command until the build files are successfully written. Now run make.

Get a coffee, sit back and let your Raspberry Pi do all the work. It takes about 30 Minutes. The result are executable Nextcloud tools, such as bin/nextcloud.

Run

If you want to install the client, run sudo make install. The client installs to ~/nextcloud-desktop-client/. Run it with the following command.

export LD_LIBRARY_PATH=~/nextcloud-desktop-client/lib; ~/nextcloud-desktop-client/bin/nextcloud &

Enjoy your fresh Nextcloud Desktop Client 3.6.50 on Raspberry Pi!

(newer) (older)