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.
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.
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?
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.
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!