NextCloudPi gets freeDNS, better automount, notifications, SAMBA and web improvements

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.

Author: nachoparker

Humbly sharing things that I find useful [ github dockerhub ]


  1. Hi there, great project! I am using your latest image on an rpi3 with ethernet, so no wifi set up. I had it connected to wifi, so i know you use wicd-curses to set up wifi, but how do i set a static ip with eth0? i can’t use wicd-curses to do that i guess? and changing things like /etc/network/interfaces or /etc/dhcdp.conf do not seem to work. also, in your image, the eth0 interface is renamed to some weird interface name enxb827eb231237, which is a new practice for the raspbian stretch image i guess. maybe it’s a bug though 🙂 could you point me to the correct direction for setting up a static ip with eth0 (or that weird eth0 interface name…)

    1. I read elsewhere, that the naming of the interfaces is back to normal in the official stretch images of raspbian. maybe it was a temporary thing in one of the images there.

  2. Another question: How would i achieve it, so that the installation of nextloud will be started at https://somewhatyadayada, rather than https://somewhatyadayada,

    I want to install wordpress and other websites along nextcloud, but because your setup sets the root of the websites to /var/www/nextcloud, i would have to locate the other sites at https://somewhatyadayada,, which is not so nice.

    I tried and changed the roots in the .conf files in /etc/apache/available-sites/*.conf for port 80 and port 443, but then i cannot setup letsencrypt anymore afterwards, and also i guess i would have to change more than the config files in apache in order to achieve this?

  3. Awesome cant wait to try. Looks like the automount will be a bit easier to understand, so looking forward to trying that and rest of enhancements out.

    Been insanely busy so havnt had a chance to do any tinkering.

  4. Awesome project! What do you think about using redis for file locking on nextcloud pi? I tried using redis, and it seems to me that gallery app was running smoother. I wonder what are the disadvantages of using redis on nextcloud pi?

    1. I wonder that too xD

      I have looked at it and I am still undecided on the benefits of using it, specially when most of the time you are hosting a single user in a non powerful board. If anyone has opinions on this we can discuss in the forum or github

      1. I didn’t find the way to add that…
        Well finally I used (maybe can be added to ncp-config 🙂 ) and ddclient.
        Also trying no-ip. I wonder if ncp updates no-ip every month automatically (similar to let’s encrypt)
        I have installing ncp in my Pi. It’s great!! (I think that should write something in my little blog)
        Greetings, and thanks!

Leave a Reply

Your email address will not be published. Required fields are marked *