I have created a solution for using Joplin with over 50 different Cloud providers.
I just got this working today and have not put it through a lot of testing but it works great so far.
Will this solution you can use the WebDav protocol to connect to lots of different Cloud servers that Joplin does not natively support.
The Cloud server does not need to support webdav.
Works with mobile and desktop clients. I've tested Android, windows, and Linux.
A PC on your home network is required to make this work. Rclone software with the proper configuration settings and additional components can serve up any supported cloud provider to both local and remote clients.
No additional software is required on the mobile device or desktops other than the one PC that's required to facilitate this connectivity system.
I have an overview/outline document written. Please review and comment.
What would be the benefit of syncing to a cloud provider if you need to effectively run your own server to facilitate the connection, which is not running on the same device as the client? You might as well just run a plain WebDAV server on the ‘server’ computer, and store the data there?
The home computer does not need to be a server class device it just needs to be any computer at all including a Raspberry Pi. Even an outdated Windows computer is fine.
By keeping the data in the cloud your allowing the cloud provider to store and backup the data rather than you having to host the data locally and be worried about that PC crashing or doing backups. I and many others don't have or want to install and maintain their own NAS server.
The home computer is merely a facilitator. It's not storing anything.
I have a free 20 GB account on Mega. Mega provides end-to-end encryption and 20 GB is a TON of space for Joplin.
Fair enough, it does provide benefits. But I don’t think it’s true that you don’t need a server class device though. You need to expose the computer to the internet in order to facilitate the connection and presumably with rclone, all the data is stored locally during transit as well, so then all the storage requirements, or at a minimum, the I/O going through the server are the same.
This solution is effectively a self host with mirroring to one of 50+ cloud providers, so I think the title is misleading and this is certainly not suitable for non technical users, as they’ll need to lock down their pc acting as a server and ensure it is kept secure.
OK, I’m open to suggestions for a name change. What would you suggest?
Agreed that it may not be for novice users. The solution is not for everybody. If there are a few people here and there that are interested that's fine with me. Just like here I am a regular contributor for supporting a few open source projects. One of them has a very limited set of servers that they work with and in some cases only one server account is allowed at a time. There are two different projects I use that this solution is capable of providing some benefit.
I don't see much of a security risk. The PC is inside your home that is opening a connection to the Cloud Server with a user ID and password. I pair Rclone with program called caddy that gets and maintains and provides a secure SSL connection to whatever clients are being used. A user ID and password is required to make the connection. The only thing that's required on a home network is for the router to forward Port 80 and 443 to that one computer. Nothing else in your home is exposed and no data is being stored on that PC it's just flowing through the network adapter and there is some local caching but that's minimal.
Right now I'm just looking for feedback and ways that I can possibly make some improvements.
This is very new. I've only been doing it for a day. Perhaps folks will find it useful perhaps not I don't know.
There is the option to make the pc only available inside your home network, but most users would likely want to be able to sync while on the go, so it would need to be opened up to the internet.
Actually, here is how it works. My router supports Dynamic DNS so I have a fully qualified Internet routable domain name and you can do the same thing with Dynamic DNS software if you don't have a router capable of doing Dynamic DNS. Caddy will get and maintain an SSL certificate for you.
I also set another password with Rclone when serving WebDav. Even if I gave you the URL to my home network you would still need my user ID and password which you will never guess. The password is 40 characters long.
My cell phone is configured to use that fully qualified Internet routable domain name so it does not matter if my phone is at home or away. Same goes for a laptop computer you could be at work or in a hotel or on an airplane and get to your data through a secure SSL connection.
My router being an ASUS creates for me a personal, unique, DNS name such as myhouse.asuscomm.com. It can be resolved from anywhere. Same goes if you use ddns software.
Now the title really is misleading. No data is stored on the home computer. Your NOT “mirroring” it from the home computer to the cloud. Your not syncing to the home computer. Your inbound connection from wherever you are simply routes the data through your computer to the cloud.
We need to come up with a name that represents what it really is. The home computer in my opinion is not a “server”. My data is stored in only one place. That place is my Google Cloud Drive and my Mega Drive both of which are secured with two factor Authentication.
Even Rclone config has a password that’s different from the SSL password. And, someone in my home would need to after breaking into my home hack my computer password which is secured with both facial recognition and a pin code.