Tool recommendation: Nextcloud as full-featured home cloud storage

⚠️
This article comes with a lot of pictures

Nextcloud is an open source network storage system developed based on Owncloud. Nextcloud mainly provides good privacy while providing comprehensive functions.


Cloud storage

The functions of the cloud storage function will not be described too much here, just like most cloud storage on the market. The files in the cloud storage can be accessed through the web page. There is also a client that can automatically synchronize files in the local directory to the cloud storage.

It can probably be compared to Baidu Cloud or Google drive.


Chat Function

What appeals to me most about Nextcloud is its chat function, because communication between family members often requires a high level of privacy. Except video chat, which has a particularly high requirement for network latency, so I can't use it. The supporting for daily functions such as general chat and sending pictures is very good.

Nextcloud provides a plug-in called "Talk". After installing it, you can use the chat function on the web page.

From the screenshot above, I definitely have to mask the chat content between me and my family. The message in the picture is actually from my monitoring and alarms service.
The bad news is that Grafana doesn't natively support Nextcloud Talk. But the good news is that Nextcloud provides enough API, here I built a service to forward Grafana's webhook. Moreover, Nextcloud also provides very detailed integration documentation.

What's more, Nextcloud provides clients for IOS and Android.

Android client
IOS client

As for a series of tools such as WeChat, whatsapp, etc., they are basically not used for internal communication within the family. As for how to convince family members to use it, each in their own way.


Play Video

Nextcloud can play videos on web pages or clients. Although it is not as good as some professional home theater services, it can meet basic needs.

Just some sample video list (fake)
Just some sample video playing (fake)
Video list on IOS (fake)
Play video on IOS

The advantage is that as long as you can access your own Nextcloud service, and as long as you have enough bandwidth, you can play it wherever you are. And Nextcloud itself is a cloud disk. If you want to share videos, you only need one click.
The downside is that Nextcloud itself doesn't have the usual theater features like continuous playing. However, Nextcloud supports WebDav, so if you want to expand it is not difficult.


Security Settings

Sharing Strategy

Sharing is a dangerous thing. Originally, I downloaded some video to watch that it is not a very big issue, but it is easy to have copyright problems once it is shared (based on China Law). In particular, family and friends may not have these sense. So on the one hand, explanation for family member is very important. On the other hand, mandatory sharing strategies are also necessary.

Nextcloud can force shares to expire, and force all shares to set a password.

Fingerprint Password

For mobile devices, whether it is the Nextcloud client or the chat client, fingerprint password protection can be set.

(Cannot take screenshots due to phone security settings)

Password Protection

Nextcloud can set mandatory two-factor authentication, enable server-side encryption, set password policy, and automatically expire.

At the same time, Nextcloud also has plugins for LDAP or SAML. You can use this to log in to all services with a unified account within the family.


Photo Map

Nextcloud also provides photo map functionality (also a plugin called Map). Place various photos on the map based on the geographic location of the images.
While it seems that Apple offers a similar feature, so does Google. However, since Nextcloud already can solve the problem with one service, why should I share my information with a third party service?

China's border is sensitive, so masked

But this is a matter of opinion. I have not convince nor tried to convince family members to use this service. After all, this one is different from chatting. The archiving of photos is a personal matter and there is no point to interfere with each other.


Virtual File

On Windows, the Nextcloud client also provides virtual file support (it doesn't seem to support Macs). The general effect is that you can choose to only synchronize the file list from the server to the local, and only download the file from the server when it is actually running or used.

not virtual file
virtual file

Backup

First, Nextcloud can be started directly with pure Docker (including the database and the service itself). So, as long as the corresponding files are backed up, the entire service is backed up.

My personal approach is to deploy it directly on K8s and mount the Longhorn drive, which is a RAID 1. There is basically no service interruption due to hard disk damage. Also Longhorn can back up the hard drive regularly.
Therefore, once Longhorn's RAID 1 itself provides high reliability, and then regularly backing up Longhorn, it is basically very reliable.


Summary

Personally think: Nice!