A couple years ago I heard about Owncloud in Bellingham, WA at LinuxFest NW from founder Frank’s talk on Crushing data silos with ownCloud, but was disinterested upon learning it was partially closed source… that was until the forking/open sourcing of all existing code to Nextcloud; I decided I’d like to try it for myself. Difficulty of installation and other life priorities held me back until the release of Nextcloud 12… I found out about the ownyourbits website and community-based NextcloudPi project, which aims to simplify deployment and maintenance of Nextcloud for not only the Raspberry Pi, but all existing platform architectures (Arm devices, x86-64 bit systems, VPS, etc.) as a standard ISO image or curl script or docker file. I’m happy to see the project has officially become a part of Nextcloud core family.
The thought of a community alternative to the commercial Nextcloud Box interested me greatly so I grabbed a Pi 2 and had a very simple time running NextcloudPi due to it’s very useful NextcloudPi-config tool, which is now also available from the browser as ncp-web. All of these things just worked:
- Let’s Encrypt SSL
- Setting up a Static IP
- DNS Setup
- Adding External USB Drive Storage
- Exporting/Backing up/Recovering configuration data
- Diagnostic tools for fixing a busted Nextcloud Setup
- Responsive community!
NextcloudPi worked fine on a Pi 2, but became notably more responsive once the image was copied to a Pi 3… even for one user. The ideas of Nextcloud are really exciting, but right away I grew confused about how all of the included features could be used. In the end, it is really up to you to read all of the documentation in order to understand how Nextcloud works, especially since I’m coming from years of relying on the typical proprietary solutions: Google Suite, Dropbox, Evernote, iCloud, Doodle, Trello, Skype, etc.
What worked well?
- Nextcloud is really fun to use on a Raspberry Pi, and includes a nice web interface!
- Nextcloudpi-config allows for flawless updates from version 12 to current version 13.0.1 stable.
- Tasks show up as iOS Reminders.
- Calendars show up no problem.
- Desktop client makes it easy to manage multiple Nextcloud instances.
- Federation and Circles app make it easy to extend your file storage to other Nextcloud installations!
- Extremely responsive online community via Github, Discourse Help Forum, Telegram and Reddit’s Nextcloud & larger Selfhosted communities.
- Lots of very useful security features, including 2-factor Authentication.
What didn’t work so well?
- Webdav lacks Delta sync, for changing just parts of files.
- No built-in support for LAN Sync either.
- The more I use Webdav locally, the more I wish it better integrated with Syncthing.
- iOS Nextcloud clients are notably behind the Android client in terms of performance and features. You can blame Apple.
- External storage support for Dropbox and Google Drive is constantly broken… I’ve never gotten either to work so I can migrate my files from within Nextcloud as version 12 originally promised.
- The internal app store and configuration can be very confusing as most every app is listed under Tools, settings are a bit jumbled, and listings of apps do not match up with the much easier experience of browsing the website’s app store listings. You’ll just have to bounce back and forth between the internal app store, website + official documentation across multiple brower tabs to figure things out.
Conclusion on Nextcloud for Localhosting
Nextcloud is a very interesting application that has a long life ahead of it. You can actually control your own data! Development is rapid and community focused, but the overall system can quickly feel like a jack-of-all trades and master of none when your primary need is to share files with only yourself or a home network. Even with the current 13.0.1 release it is difficult to say whether specific apps will work as expected until you test them out individually. Getting setup requires commitment in terms of time and easing users into a new system that gives them (and you) a lot of control.