The latest release of NextCloudPi is out!

In terms of development, the main focus has been to addressing issues stemming from the migration to Raspbian 9. Aside from that, we now have an alternate DDNS provider, ncp-web enhancements, better notifications and more.

As usual, there have been many fixes and enhancements. I would like to thank everyone that was involved.

NextCloudPi improves everyday thanks to your feedback. Please report any problems, or ask technical questions here. Also, you can discuss anything in the forums.

Last but not least, please download through bitorrent and share it for a while to help keep hosting costs down.

Community: Wiki and better documentation

In terms of community, I am very happy to count with some new contributors! We are working right now to accelerate the development of the web interface, the new setup wizard, better design and documentation.

In order to achieve this, we started to compile the information that was scattered in blog posts and organizing it in the NextCloudPi Wiki for better access, and we will try to keep a FAQ with the most common questions that we get asked.

Also, we are starting to create some developer documentation. At this point it is very easy to add new functionality, so a little guide will hopefully help some more people with a coding profile to get involved. Send those PRs!

In terms of the web interface, we are also looking for web developers that would be able to make it move faster.

Finally, the more help we can get the faster we will be able to improve, so remember that you can help by testing, reporting bugs, suggesting improvements and just sticking around helping to answer people’s questions.

New freeDNS provider for Dynamic DNS

We now have support for a new DDNS provider, contributed by Pantelis.

As with no-ip, you first need to register an account with freeDNS and then introduce your registered domain and the update hash that you will receive during the process.

UPDATEINTERVAL is the interval in minutes between checks for a change in the public IP. A value of 10 or 20 minutes is recommended.

Complete overhaul of nc-automount

The automount feature has been completely rewritten from zero. The reason for this is that it was designed to be really light and not have any dependencies, so it was working directly on the systemd-udev plus fstab interface.

Sadly, the systemd-udev interface has proved to be very unstable. It was constantly breaking with updates, so the feature was requiring a lot of mainteinance. With the move to Stretch it straight became unusable for our purposes.

I decided to give up and take a heavier approach that uses the udisks interface that is much more stable. The benefits of this is not only stability, but also better handling of the /media folder.

Directories will be automatically removed when umounted, and also the symbolic links will be updated, added or removed automatically. Still, everything will work both upon inserting the USB drive and upon boot.

Also, the feature now supports drives with several partitions.

After the rewrite, things have changed slightly but they should just work with the old setup. Now the mountpoints will be named after the label of the disk, and there will be /media/USBdriveX symbolic links pointing to them. This is the oposite of what we had before but works the same way.

$ ls -l /media total 6 drwxr-xr-x 1 root root 2048 Aug 1 13:15 ARCH_201708 drwxr-xr-x 7 root root 4096 Sep 1 19:03 myclouddrive lrwxrwxrwx 1 root root 18 Sep 1 19:39 USBdrive -> /media/ARCH_201708 lrwxrwxrwx 1 root root 19 Sep 1 19:39 USBdrive1 -> /media/myclouddrive

So the recommended usage remains the same:

you can just use /media/USBdrive, which is the default for most extras if you only have one drive. If you are using for instance another USB drive for your periodic backups, then use the label names for all extras, such as /media/myCloudDrive/ncdata for the nc-datadir feature.

I am writting a longer post explaining the situation with this for those interested in the technical details.

Real time output in ncp-web

The output of the running process is now updated in real time through Server Sent Events (SSE). Some of the actions in the web interface can take several minutes to complete, so it is nice to have some feedback on how the process is going before it ends.

Also, there are some other small improvements, like a color coded return status.

Enhanced notifications

NextCloudPi will now notify of automatically upgraded packages.

Also, we can choose what user will receive the notifications.

SAMBA improvements

There have been some improvements in the SAMBA shares.

The main one is that we only use the SMB3 version of the protocol, which is more secure and performant.

Also, the Nextcloud share has better permissions configuration, so files can be read and modified from both ends: Nextcloud and the SAMBA mount.