Note: Can’t see live counter image above? Try again later as my WDMyCloud is offline!
A BTSync alternative! Install Syncthing in more than one devices to sync several folders within each, Nix, Windows, Mac and Android devices.
With Syncthing-Inotify active doing the monitoring, you would probably want to set the scanning of synched folders to less frequent than 60secs, say 3600secs (1 hour) or even 86400secs (one day). Note Syncthing-Inotify service will auto exit when there’s no folders to monitor. So ensure you have at least one folder to sync else you’ll need to restart the Syncthing-Inotify service manually when needed.
Syncthing was built with GOLANG 1.4.2 by cross compiling with Linaro toolchain. Note that from version 0.12 onwards, you’ll need to ensure all devices in the cluster are running with version 0.12+. The daily scheduler to clear older panic logs (/etc/cron.daily/syncthing) still remains and I have lowered the run priority (NICE=19) and limit the CPU cores to 1 (GOMAXPROCS=1) in the init.d service since encryption/compression/sync process can be quite CPU intensive on our WDMyCloud device. So it is recommended that you already manually mirrored the data on all intended devices before linking them with Syncthing.
Note that as of version 0.13, I’ve excluded the obsolete Syncthing-CLI. The WebGUI may take a while to become accessible.
Unfortunately the auto update has been disabled as the officially released ones are not 64K pagesize aligned. I’ll try to keep up updating the major release.
This is Syncthing v0.11.x, v0.12.4, v0.13.4 and v0.14.x for WDMyCloud V4 Firmware successfully built with 64K page size memory patch. For setups and details, refer to https://syncthing.net/.
For those interested on how to build from the source, refer to this thread. It may help others to continue supporting the 64K page size memory for other packages. Below are my simplified instructions on how to get it installed on the V4 firmware (will not work on older firmwares).
AND I have also made an online generic 64K page size memory package installer to simplify the installations of Debian packages on WDMyCloud. This will not work on older version 3 WD firmwares and I’m not planning to support it either as I’m sticking with the V4 firmwares. Based on dynamic server-side FastCGI, perl and shell scripts, I’ll be using this method for newer guides from now onwards. Feel free to parse the script codes. All bug reports, opinions and suggestions are welcomed.
The Generic Online Installer:
1) Auto download of required debs including its dependencies if any.
2) Debs installation in the required order to prevent dependency issues.
3) Auto run custom configurations if any.
If you proceed further, you are fully aware of the usual WD’s _warranty void _clauses including disclaimer from any damages that may resulted from this guide.
Enable SSH on your NAS from the WD DashBoard settings if not done so. SSH to your NAS port 22 using i.e. putty root@wdmycloud.
To proceed with the installation, first you need to get the username and password from me. The credentials will expire hourly e.g. “1AM,2AM,3AM…” to prevent intentional abuse on my network resources. Click on the link below to get the credentials :
After obtaining the credentials, just copy & paste into the SSH terminal session of your WDMyCloud:
export NAZAR78_USER=user; export NAZAR78_PASS=pass; export NAZAR78_KEYS=keys;
Then run the online installer on your WDMyCloud copy & paste as below, follow the instructions and enjoy (-:
Version 0.11.8-2 (UNSTABLE):
For quick backup and restore when WD release newer firmware update:
Before updating firmware:
tar zcf /shares/Public/syncthing.tar.gz ~/.config/syncthing;
After updating firmware:
tar xf /shares/Public/syncthing.tar.gz -C /;
Run the online installer again. Your settings will be preserved and you may then remove the tar backup.
Online Installer change log :
 Added Syncthing v0.11.8-2, Syncthing-CLI v0.1 and Syncthing-Inotify v0.6.4, unstable on 64K pagesize memory v4+ firmwares.
 Added Syncthing v0.11.9-33, fixed the frequent crash on 64K pagesize memory v4+ firmwares.
 Added Syncthing v0.12.4-10 and Syncthing-Inotify v0.6.7-10.
 Added Syncthing v0.13.4-7 and Syncthing-Inotify v0.8-7, removed Syncthing-CLI (obsolete).
 Added Syncthing v0.13.5-11.
 Added Syncthing v0.14.0-3 and Syncthing-Inotify v0.8.3-2.
 Added Syncthing v0.14.19-1 and Syncthing-Inotify v0.8.4-7.
While this great. I had tried BT sync in the past, but that just kept the drive from going to sleep. How do you find syncthing? How does it affect drive sleep
I can’t really test the drive sleep part as you would have known my NAS is always busy My primary concern is that the data gets to the safe location the soonest. But I think you’ll see the same effect as BTSync.
I’ve included one of the modules, Syncthing-Inotify (similar to inotify-tools which acts upon event changes), with this you can set a longer scan intervals.
Feel free to test it out, to uninstall:
dpkg --purge syncthing syncthing-cli syncthing-inotify
Then remove the configs:
rm -rf ~/.config/syncthing
Think I got the frequent crashing fixed, seems quite stable now. So I can increase the every 15mins keepalive probe checks which could contribute to the wakeups. I’ll update when the author commit the next major release https://github.com/syncthing/syncthing.
How long would you recommend the probe checks? Actually how long do you expect the drive to sleep? Sorry I was never concerned about the drive not doing to sleep.
Well these drives already have sleep issues even with stock firmware running. There are many threads on that. In any case I don’t think there’s much you can do. With btsync or any other sync program, drive sleep, pretty much defeats the whole purpose behind realtime sync.
In any case, the drive should technically be sleeping when there is no activity going on I.e it’s not being accused by a user. That’s the best case world scenario at least…
Syncthing v0.11.9 dated 2015-06-15 added to the first post. This has fixed the frequent crashing and is very stable on v4 firmwares (64K pagesize memory). Set the scanning to less frequent because there’s already Syncthing-Inotify to help the scanning on data changes and it should help the drive to sleep well
what about apple iphone ipad ?
thanks for works
I’m not sure if anyone is working on the IOS build, furthermore GOLANG was created by Google :robotlol: Check with the forum maybe ask the developers. I’m just helping to build for wdmycloud v4 firmwares.
List of supported builds and forum link:
thanks maybe i can use it with my ios
Syncthing is GREAT!
Quick question – if one device has version X and another has version Y, is there an issue with communication between the two devices?
Currently my WD My Cloud is using 0.11.9 but my windows machine is using 0.11.17.
Should be no issues as long both are from major release unless stated otherwise.
@Nazar78: I’ve seen a lt of apps compiled by you and I am happily using Transmission.
Here is my scenario:
one laptop, win 7 folder BackupLaptop which needs to be synced on MyCloud\Backups\BackupLaptop
one PC, ubuntu, folder BackupPc which needs to be synced on MyCloud\Backups\BackupLaptop
WD MyCloud: folder Backups
the same PC with ubuntu, have the folder MyCloud\Backups\BackupLaptop synced locally on folder BackupFromWd
Is there an app that does this, does CrashPlan, Syncthing or other apps for this on MyCloud?
Thank you for your hard work. Regards
You can use any app of your choice i.e. syncthing or crashplan, but I personally prefer more personal touch so I script my own using rsync
Turns out that syncthing .11 and .12 have different discovery protocols (which is why I am having trouble with my setup).
My windows machines are using .12 but my wdmycloud is using .11.
See this link:
Any chance that you will build .12 syncthing?
I could try to compile it myself, but it doesn’t seem easy – conflicting info on this forum on how to build (10 pages!)
The latest official release is currently v0.11.23, as I’ve mentioned on the 1st post I’ll try to keep up with the major release. This also depends on my free time and demands for it.
Also now my development environment VM won’t launch after Win10 Insider Preview and I’m not able to revert w/o clean install :( All my WD stuffs are in there, need to wait for Oracle or M$ fix this first:
So I suggest you revert to .11 on your windows and keep it from upgrading for the time being if you need it badly on the wdmycloud, see STNOUPGRADE from syncthing.exe -h. Run as enviroment:
set STNOUPGRADE=1 & syncthing.exe
For those who’s following this post, a new APP has been added to the installer, Syncthing v0.12.4 for firmware V4. A BTSync alternative! Install Syncthing in more than one devices to sync several folders within each, Nix, Windows, Mac and Android devices.
As per usual installation steps using my installer, go to the Syncthing link (listed top of this page), click on the credential link to get the credentials. For my donors, please use your permanent donation credentials from your DonationID.
Use this installer code on your WDMyCloud:
@Nazar78 many thanks for this. I am trying to make sense out of myCloud and use it as a sync storage place. Since I am using Ubuntu, there is no Sync app to use by default.
I installed Syncthing on my PC and seems to work pretty good and while trying to fetch it I saw a link on your website related to owncloud running on my cloud.
My question to you is: is Syncthing good enough or should I follow your tutorial to put ownCloud? Is ownCloud running good enough on MyCloud hardware?
It depends on your needs. If you just need to sync between Ubuntu and MyCloud, Syncthing is good enough. Syncthing is more of over-the-internet and security stuffs. Actually it’s much faster to sync them using good old rsync minus security if you don’t mind. Setup rsync daemon on your Ubuntu then setup cron rsync both ways initiated from MyCloud.
OwnCloud on the other hand is a different app all together, sort of Dropbox alike. OwnCloud used to run a bit slow with v3 firmwares but improvements on the v4 firmwares. I’m currently testing with PHP7 and it’s quite impressive thanks to the almost doubled performance of PHP7. I’ll also look into HHVM which has now with armv7 support this year I think.