I’ve been woefully neglecting this blog for FAR too long. Life has been quite busy and honestly, I just haven’t made proper time for it. It’s been so long in fact, I had to archive out of date posts and I’ve not even posted once about Nextcloud. It is a shame on my part because it is THE most important piece of software that I use every single day and has been for years now. This is truly without exaggeration.
If anyone who has had ANY part in Nextcloud… Development, troubleshooting, security, marketing, growing the application, whatever… happens to read this – thank you. I jumped on board when you launched in June of 2016.
My hope is that my experience with this may give potential users insight and provide existing users some new ideas or perspectives. Comments or tweets are most welcomed! @gabe_beaver
Before I get started, this post isn’t going to cover how this is Free Open Source Software, what that means, how to setup a Linux server, install Nextcloud, configuring the back-end servers settings – none of that.
There are LOADS of installation guides out there that cover that material way better than I ever could do. In fact, there is even an Ubuntu snap that can get you rolling in minutes, it’s incredible. I installed Ubuntu server with Nextcloud snap on a virtual machine in 30 minutes on a lunch break one day:
I will have a lot of links to external sources, apps, and even a controller. None of these links are monetized or anything – just free resources I think go well with the content, have been helpful for me, and readers will find useful.
I recommend that you install your server in a secure location on hardware or a platform you trust. If you are using this at home or in a business, make sure that any outside access is behind a strict firewall at minimum, and through a VPN as possible. If you are using a hosting provider, you should utilize encryption, firewall, and only access and sync data with a secure VPN connection. I also recommend that you use Two-Factor Authentication (2FA) for access in Nextcloud and ANYWHERE you have the ability to do so.
Nextcloud has an excellent post about this on their blog here:
Now let’s finally get to the point of this post – OK, you have installed a Nextcloud instance. Good, great, grand, wonderful!
The first thing you will want to do is install the desktop and mobile clients. There is a Nextcloud client for practically all desktop and mobile clients. I use it on OpenSuSE, Windows, Linux, and iOS. You can find the direct downloads here:
Again, this is NOT an install guide; however, before installing the sync client on your computer – I highly recommend thinking about where this data will live on your computer. I suggest configuring the Nextcloud storage location on your local machine onto a separate hard drive.
For example, I have a 500GB SSD mounted ONLY for Nextcloud use. In Windows I set it up as the N:\ drive, in Linux I usually mount it at /home/user/nextcloud. If you can’t do this, you at least need to take into account how much disk space you will require, and where your Nextcloud data will live on your computer.
An important thing to note about the desktop sync client. Let’s say you want ALL your data on the server, but you don’t necessarily want 10 years of photos on your desktop or you don’t have enough space. No problem. With the sync client you can choose which folders to sync and set limitations on large file sizes.
Let’s say I wanted to stop syncing my Git folder. I would open the sync client settings on my desktop and uncheck the folder. The data would be removed from my PC if it was there, and would no longer sync – but all the files would remain on the server.
Now, once you’ve installed the clients and gone through the quick configuration of your user account to see the default settings, here is where things start to come alive!
In the photo below, this is how I have decided to organize my files and folders. For this post I am going to go through them, because each folder explains a bit about how I get the most out of Nextcloud.
The organization of this may seem obvious, but it’s important to try and get this clean right from the start. Nextcloud will be the central repository for your data. You want to avoid placing files and folders randomly, which can lead to duplicating items, or losing things. I know a guy who has done that a few times… Starting with a proper foundation will make it easy to navigate and find items in future.
So if we go from top to bottom on the folder layout I have chosen…
This folder I have created because of what I’ve learned in using Nextcloud over the years. I highly recommend you create this folder on each user, and once per month, take a manual backup within the Nextcloud web app of:
And place them inside this folder. The configuration of these files is within the Nextcloud database tied to the user account.
Let’s say you want to re-install Nextcloud, move all your critical data elsewhere, or even experience a server failure! You can always rebuild and re-sync your normal files, folders, and photos back from your desktop to the server, but Contact and Calendar data sync is not performed in the same manner. It can be challenging. Since this post is not geared towards back end server management – just know having these files available on all your sync endpoints will save you a headache in future – I promise.
To backup your Contacts list for example, navigate to Contacts. At the bottom left click the Settings button, then click the three dots beside of Contacts and select Download. Then you can save the .VCF file anywhere you’d like, for example a _Nextcloud_Backups folder :)
Repeat this process on Calendars and Bookmarks, and any other application you install that supports this feature.
I would recommend doing this a couple times a month.
This seems quite obvious, but I recommend using the Documents folders to help separate key data.
For example, when I had an HVAC issue last summer I took a copy of the invoice and placed it at Documents > Home > HVAC Work – July 8 2020.pdf
Our lives are increasingly moving toward digital documentation of everything. If you are savvy enough to setup Nextcloud, you should take the time to do spring cleaning of your folder layout on documents, and try to create better structure and habits for future management of key data.
I also utilize this folder to save KeePass password files to keep them in sync and I use Strongbox app to access them on mobile. I could write a whole post just on password security. Using KeePass has been the best for me and Strongbox makes life easier with 2-way sync. I can edit a password on my phone, and use it on Keepass on my PC in seconds, after Nextcloud syncs the database file.
You can learn more about Keepass here:
You can learn more about Strongbox app for iOS here:
I love this folder. Here I have all of my game library and roms organized by system. When I play my games, save states, or take screenshots on my desktop, all that data is synced to my Nextcloud. I also use Retroarch to game with, and all of my Retroarch settings are synced to my Nextcloud folders as well.
This means, if my PC were to crash, I could install Nextcloud client on a new computer, install Retroarch, and have access to all my games including save data, in minutes. Or – If I travel and take my laptop with me, I can pick up a save point of Battletoads and continue playing on the road. Then when I return home, sync the data back all via Nextcloud.
*I do NOT, repeat do NOT, store Steam data in this folder, or in Nextcloud. The game files can be HUGE and its a waste of data space on the server. If I want to save a game state, I manually copy it from the Steam folder and place in a backup folder for example: Gaming > Backups > Legend of Zelda > file_here.
If you are into gaming and older generation gaming, Retroarch is a fantastic tool. Learn more here:
There is even a Steam client coming soon!
And since we’ve gone down this rabbit hole, If you do game on PC, I highly recommend the 8bit-Do controller here:
8BitDo SN30 pro+
Git and ISO:
I use for, well, git backups and ISO files :)
Want to learn about git? Here’s an excellent intro guide by Scott Hanselman on his YouTube channel here:
For my OneNote replacement, I use Joplin which is a markdown based text editor. I LOVE it. The best part is that all my personal notes are not stored in a OneNote file at Microsoft, in an Evernote file at god knows where, or even worse at Dropbox.
It uses the concept like OneNote of Notebooks > Sections > Notes. It’s excellent for plain old notes, but if you do any development, learning markdown and being able to organize notes with code blocks and formatting is a game changer. It supports images and screenshots too.
Best of all – Joplin has a plug-in that works directly with Nextcloud and makes configuring the syncing super simple! Joplin has windows, Linux, iOS, and Android clients so you can also view and edit notes from almost anywhere. And like Nextcloud, is Free and Open Source Software.
I’m even composing this blog post from within Joplin!
Just install the Joplin app on your device, install the Nextcloud app in the Nextcloud web portal, configure the sync settings in the Joplin app, and you are off!
Learn more about Joplin here:
Here is an example of what it looks like within the app, showing off how markdown looks and works:
Like most of us, I use a streaming music service for most of my music these days; however, I do have a sizeable offline mp3 library. All of that music is stored in the Music folder. You can play music files natively. There is also a nice app you can install directly in the Nextcloud web portal named “Music”. The app intelligently displays all the music files in your library, gives you a nice organization, and view of the album art within the web portal:
This is the most important section of the post. Photo and video sync is probably the BEST and most critical feature I use. Thanks to the ability to sync photos from my phone via the Nextcloud app, and the customization available within the phone app, I can intelligently sync photos and videos.
Here is a funny screenshot I took of Emre Can standing in front of Axel Witsel last week. It looks like I took this screenshot photo on September 21, 2020 at exactly 12:20:00. It’s in my Photos > 2020 > 09 folder.
How was this screenshot on my iPhone camera roll uploaded to Nextcloud, named with this specific detail, and placed in the right folder? I have configured the Auto Upload settings on my iPhone and here is how that worked:
- I have installed the Nextcloud iOS app onto my phone
- I launched the app, already having logged in with my Nextcloud user
- I navigate to the bottom right and click More > Settings > Auto Upload
- Select Auto upload photos/videos button, Select Use Subfolders button, and configure the other settings as you wish
- At the bottom of the Auto upload settings you will see “Change filename mask”
Here is how I have configured the file name settings:
Here’s an example of how this works:
Let’s say it’s now January 2021. You take loads of new photos and videos after midnight. On January 2nd you wake up, albeit maybe a bit tired? Open up the Nextcloud iOS app, and sync your photos from your phone.
A few things will happen instantly:
- Nextcloud automatically creates a new folder in your Photos folder named 2021
- Nextcloud automatically creates a new folder in your Photos folder, under 2021, named 01 (if you selected Use Subfolders option)
- Nextcloud iOS app automatically uploads the new photos on January 1, 2021 to this new folder named 01
I can look back on kid’s birthday parties, sports events, family events, and other random occasions and know exactly the day and time the photo or video was taken. From there, you can organize the photos and videos how you’d like – but this has been a major improvement to my media management. You can also then edit or delete photos from your desktop of the web portal quickly, with a bigger screen to review them in, in moments. Further, you don’t place your photos on third party storage where you have no idea who could be viewing them, and you keep your phone storage usage lower as you can safely delete the photos from your camera roll afterwards.
The way I have it configured, the uploads ONLY happen when I have the mobile app opened on my phone and I must remain inside the app until all the uploads complete. There is a nice section where you can view Transfers to see the speed and how many items remain to sync.
The sync is very fast on local network connections. It even performs well when syncing when away from home over secure VPN.
When done, I close the app, and delete the files from my mobile phone camera roll. The photos will remain on the Nextcloud server and begin syncing to my desktop computer. For me this is exactly the experience and control I am looking for. You can customize this as you wish with the app and auto upload settings and play with the settings you want.
Also – you will never accidentally overwrite a file if you use this method! Many years ago a friend lost many photos copying and pasting because two images were named something like IMG_001. However, they were different pictures, and he chose Overwrite Existing files with same name, thinking they were duplicates. They were not.
It’s also key here that if you plan to use Nextcloud for this type of media storage long term that you:
- Size the hard drive of the server properly, or have a plan to increase space
- Have a solid backup strategy and plan in case of home fire or server failure
- For example – Copying files to an encrypted USB drive and storing in a bank box, replacing it monthly
My photo library has been safe and in control for years now thanks to Nextcloud. The platform takes away a lot of stress in management or fear of losing a precious photo or video.
For most people using iCloud Photos, OneDrive, Photobucket… Just leaving photos on a single hard drive at home, not knowing you have backups – it’s absolutely shocking and horrifying to me by comparison when these tools and solutions exist.
I think I’ve said quite enough and have made the point about photos here. This tool nails it. :)
File Wrap up:
Besides Joplin, all of this is covered under the core feature set of Nextcloud, which is file-sync and share to desktop and mobile clients. By breaking it down this way, I hope it shows that Nextcloud offers a great deal of improvement to productivity and security of all data types.
Contacts and Calendars features:
Nextcloud supports 2-way sync of Contacts via Carddav protocol and 2-way sync of the Calendar with Caldav. When I need to add a new phone number into my contacts, or create a new meeting or appointment, I can do this from the Nextcloud Web portal or directly on my iPhone.
I have around 100 contacts and this works great! I find it works best to do all the management of them on the phone and let them sync back to the server. This way proprietary settings like iPhone instead of Mobile, work best.
For Calendar, not only is the calendar data useful, I am also able to utilize it in other places – and keep my personal calendar data secure.
For example – To keep my family up to date I have a quick pane of glass for Weather, Calendar, Sports scoreboard (#HejaBVB) and a good dad joke – I use a MagicMirror on a raspberry pi in my kitchen.
Here you can see a snippet of the setup before and after I added a test calendar event:
Here you can see the calendar configuration in the web portal:
*As a layer of security, I share my personal Nextcloud calendar with another Nextcloud user named “Calendar” that is an empty account, besides having Read-Only access to my personal Calendar. I utilize the Calendar user in the Magic Mirror configuration to present calendar items.
Since I dipped into Magic Mirror, you can learn more about Magic mirror here:
Also, you can see some very cool additional third party modules here:
Years ago I used this feature heavily, but not so much these days; however, there has been some excellent work and improvement here.
On the desktop, you can drag and drop the “Add to Nextcloud” bookmarklet to your bookmark bar, for quick access to bookmark sites. The ability to use Tags to organize bookmarks is a nice feature, and you can create folders for organization.
There are some third party apps for bookmark management YMMV on mobile as I have no experience but the options are there:
Another tool I like to use for organization on occasion is Boards. This is similar to Trello used in many environments. For a small business project management tool, this could be helpful. Especially if you integrate it with Nextcloud Talk. You can Create tasks, assign owners, set due dates, add comments and attachments all to manage things on your own or collaborate with others.
What it may lack in some miscellaneous features of Trello here, it gains massively in that all of your data remains on your servers.
Talk is an impressive feature and around which Nextcloud Hub is based. It’s targeted to business users, as an alternative to some O365 and Teams/Slack features.
You have the ability to make video calls, chat conversations, screen-sharing, and to share files with Nextcloud users and external users alike. Lobbies can be password protected. You can even do calls or chat with the Nextcloud Talk app on your mobile phone. I’ve used this with some friends – it’s not perfect, and if you use it externally you will need to configure TURN server, but development is rapid and it’s an excellent addition to the platform. If I ran a small business I’d certainly give this a closer look.
You can learn more about it here:
There are TONS of apps available that you can install and activate within the Nextcloud web portal. You can find the app store here:
Here are just some of the features you can enable with apps:
- Webmail client in Nextcloud, and even Roundcube
- Draw.io integration
- Password management, for many password manager apps
- End-to-End encryption
- Mind mapping software
- Forms and polls
You can even utilize some third party storage locations like FTP servers, S3, and dropbox if you need to. There is also the Federation feature which allows you to connect with other trusted servers and exchange the user directory.
And that’s it! If you’ve read this far you can see I’m a big fan of the project. But I also hope you see more ways to use Nextcloud and improve what you get out of it. Or maybe its a small push to get you to try it out.
In future, I seriously plan to write more posts related to this. Around setting up a home firewall, some streaming, and other tech topics I think others might enjoy.
If you have any comments or suggestions, please reach me on Twitter @gabe_beaver