Some time ago I decided I would not upgrade my SOHO server (the dearly beloved Zeus, a Windows 2003 box acting as a file/print/mail/etc server) but to move these services to the cloud. Despite my mainly Microsoft oriented professional background, I choose Google Apps rather than Microsoft Office 365. I buried the server, reluctantly concluded not to use Active Directory any more (nor any other directory service) in this heterogeneous environment of Windows, Linux and Mac clients (and plenty of other devices). As far as storage is concerned, I bought a Synology DiskStation DS212+ NAS to safeguard my personal and business files. In short: less is more.
I’m using Google Docs intensively now. Despite my beliefs and unconditional trust in the cloud (and Google in particular), the paranoid control freak in me wanted to have a local “backup” of what I’m storing in the cloud. So here’s a little post on how to copy files from Google Docs to the DS212+.
Enable Secure Shell on the NAS first if you haven’t done so yet:
By doing so we’ll be able to connect by ssh from a Linux or OSX terminal session (or PuTTY if you’re running Windows). Connect to the NAS with
root (which has the same password as
In the next following three steps, we’ll 1) bootstrap the Synology NAS to install ipkg (the Itsy Package Management System), 2) install Python, the Google Data APIs Python Client Library (gdata-python-client) and the Command Line Tools (GoogleCL) and finally 3) Test GoogleCL.
In order to install ipkg (via a bootstrap script), you need to figure out the CPU of your Synology NAS beforehand because these scripts are specific to the processor. In my case, the DS212+ CPU seems to be a Marvell Kirkwood mv6282.
On this page, you’ll find URLs to download each specific script (xsh) and straightforward instructions on how to install it, follow these carefully. In short: download the xsh file, execute it and reboot (there is a
reboot command available in Synology’s BusyBox).
After rebooting, ipkg should be functional. First thing to do after rebooting is to update the package repository by executing
ipkg update. There is no need to upgrade (as stated in this article) as we don’t have any packages installed yet.
In order to install Python, we’ll check which packages are available first:
ipkg list python*
Install the Python 2.7 package (ipkg will automatically download and install dependencies):
ipkg install python27
Next, test if Python is working properly:
If Python was installed successfully, download, extract and install Google’s gdata-python-client first, then GoogleCL. Builds 2.0.15 and 16 of gdata-python-client seem to be broken (at least they didn’t work on my box –
AttributeError: 'module' object has no attribute 'DOCLIST_FEED_URI' error upon testing GoogleCL), so I advice to download build 2.0.14 available here:
Decompress the tarball:
tar xvf gdata-2.0.14.tar.gz
And finally, install the goodies:
python2.7 setup.py install --record=files.txt
files.txt if you need to troubleshoot and eventually delete the source files downloaded and extracted here if the installation succeeded.
Repeat the same procedure for GoogleCL, latest version, available here.
Time to test GoogleCL!
/opt/local/bin. Try to execute