I’d like to switch from my current use of Dropbox as a sync store to a WebDAV server. Can people share their experiences about what has worked for them, what not to do, and particular configurations (e.g., specific WebDAV software packages or services) that did or did not work for them? Also, have you encountered any limitations with respect to storage, bandwidth, sync speed, reliability (especially sync’ing large databases), or otherwise?
More context: I have roughly 55 GB of DEVONthink databases, I use an iMac, a MacBook Pro, an iPad and an iPhone. I plan on setting up my own server, though I’m still eyeing a cloud offering to save time. I’m a software developer with experience across the full stack, so please feel free to get technical!
Have you read through the various threads on WebDAV experiences posted here in the last few weeks?
Thanks for your reply. Yes, I’ve been reading them. Often people reply with comments such as “I switched to using X and have been happy ever since”, which is useful, but my hope is that people will share more specific details if encouraged by this question. Also, IMHO, collecting information into a single discussion thread would be useful now and in the future.
Do you actually need remote syncing?
Do you actually need remote syncing?
That’s a good question, and you made me think hard about it just now. I don’t need to share databases regularly with any other users; the one case where I make everything available to another person on another computer, it’s a separate emergency macbook shared with my wife (which we grab in case of earthquakes, fires or floods) that I normally sync periodically while at home. This emergency laptop is alway slightly behind; if a true emergency arose, it might not be sync’ed to the latest copies on my main computer, and therefore, being able to sync to an up-to-date remote location would be a good thing. The only other case where remote sync is useful is when I grab my work laptop and go to a meeting or workshop: usually my laptop is not powered on, which means it hasn’t been sync’ing, which means when I finally do turn it on, the databases are out of date. Both of those situations could be helped by procedures to let them sync regularly. Thus, in conclusion, I would say that it’s probably not critical to have remote sync’ing, but having it would be useful – it would be one less thing to worry about, and would potentially avoid unexpected problems.
In the absence of remote sync, I suppose the Bonjour sync approach would be the way to go?
Bonjour on your local network is a great option.
For my own syncing, I run Bonjour and on-network WebDAV on a Synology NAS for three Macs and three iOS devices. I use cloud services for support syncing purposes.
Since you’re technically inclined, you could run a WebDAV server.
Whether you want to access that off your network would be up to you. (I’m not a fan personally.)
If I was going to go remote with WebDAV, I’d likely look into setting up ownCloud on and Amazon EC2 instance.
In fact, I was thinking very much along the same lines (using the open-source ownCloud version, and maybe even hosting on Amazon)
While I’m no fan of Amazon in general, I would consider the reachability and uptime of an EC2 instance far better than a local NAS being accessed remotely. And with an encryption key used with sync, I wouldn’t have much concern about privacy.
Once I finished testing DT/DTTG sync options, I found WebDAV the most reliable (at least as reliable your installation is, that is in your own hands and don’t depend on any external -or as not external as you can).
As I need access from external, I’m using standard Sinology WebDAV package, HTTPS only with Let’s Encrypt auto renewed certificate (by Sinology NAS itself), in a shared folder using a user account for this purpose. External access via Sinology DDNS.
That shared folder is encrypted with auto mount disabled for extra security.
I use an encryption key to sync as well, then content of sync database in my NAS will be garbage if someone can access to it (nothing critical except one database containing work emails).
My sync database has about 450 GB size and all DT/DTTG syncs fast and reliable through my 600/600 Mbps home Internet.
I had issues with iCloud sync, and Dropbox, never one via WebDAV once I managed to configure it well.
Thanks for sharing info about your approach. The Synology’s are definitely attractive devices; colleagues at work use them, though I currently don’t, and I didn’t know they had support for certificates from Let’s Encrypt (a service I do use currently for other things).
I’m curious about your large database and external access. That much data must result in pretty significant bandwidth usage. Do you have a residential network service plan, or some kind of business-level plan?
I have a company phone with unlimited data and a personal phone wint about 4GB. Syncs at work and home are “free” as the use normal cabled Internet.
Take in consideration that syncs don’t use too much data. I have about 14 databases that do not change at all, and if they change a lot, I sync them at work or home.
My always changing db are Global Inbox and a second one where I store all my scraps, and if those changes are big, and normally I sync home/work.
And with Corona Sh*t, my employer does no allow me visit customers (with very little exceptions) nor travel to do installations, then there are little chances I use phone data.
I concur with rfog’s approach. Had issues with other sync options but WebDAV (internal & external) to my Synology just works.
@rfog thank you for sharing your sync experience.
question for you - did you use ddns address for the webdav server internally also? I just tried it and it does not seem that I can connect to webdav using the ddns address while I am on the local network.
I receive an error like this
Cannot connect to host. (NSURLErrorDomain -1004).
The local address mysynonas.local address does work. So this works - https://mysynonas.local:5006/myfolder.
I had that exact problem… And I don’t remember how I resolved it.
However it is a Router thing, tell it to enable NAT…
Should have thought about that. Forwarded the WebDAV secure port to the NAS and I think it is working now.
One question for the others who may be following this thread - when we use an Internet address for the WebDAV server, does the data travel via the Internet even when both the devices are on the inside of the network? Thanks.
If the URL in the WebDAV setup is pointing at a remote web address/server, then yes there would be data sent outside your network.
I’m wondering… The machine making the request would do a DNS request first. This resolves to the router’s external IP address, I think. (Edit: yes, that’s what happens) Now the sync data (or more generally, the traffic proper) is sent to this IP address from the machine making the request, going to the router first.
Wouldn’t the router recognize it’s own external IP address and then just use port forwarding or whatever to send the data to the appropriate destination in the LAN?
I suggest doing a
traceroute -n with the external address on the local machine. Or, to see what’s really going on, use Wireshark (not for the faint of heart).
That is not exactly how it works, but not completely sure. I’m based in the update speed.
When you DDNS from DT/DTTG, yes, you make the connection outside via HTTPS (if enabled), that is reasonable secure connection. Once DDNS gets your local IP, connection jumps over that, and then you are redirected to local IP to DT/DTTG local IP, and after that syncs starts.
Why I think works this way? First, if I direct connect to local WebDAV server, HTTPS complains about certification, and second, when synchronizing a lot of data, synch is so fast that surely is from internal to internal network.
My router is a Time Capsule, which has the same monitor options than a drunk monkey, but if you have a true router, perhaps you can monitor traffic movement and be sure.
I’m going to ask one of my true hackers’ friends and will be here later.
Ok, got answer from him.
Once negotiation is done, communication between DT/DTTG and your local WebDAV server go through your public IP but internally. DT/DTTG (or any other device using DDNS from inside) talks to the public router IP, who talks with you WebDAV server.
Not much security issue except if someone takes over your router.
However, if you have an internal DNS server, like a Raspberry Pi with Pi Hole, you can add a rule to direct connect to the WebDAV server without leaving the network. At that moment I stopped understanding his explanations.
What he said (more or less is): you have to tell that local dns to point the public url to the local network ip, and that the preference order is: hosts, db, dns, other, and don’t put Google or other public DNS in your device (I assume he wanted to say you need to point to that local dns or redirect your router to that dns first and left your devices get the DNS automagically from router).
As I said above, you can simply run a traceroute command on your Mac. That has nothing to do with the abilities of you router.