Home > Review > Synology DS212j review (part 2)

Synology DS212j review (part 2)

Synology provided me the opportunity to test a NAS device: the DS212j. In the next couple of weeks, I will write a review of this device split over a number of blog posts. It will be a rather untraditional NAS review, because I will also spend time looking at its features for running .NET and PHP code, how easily it can run developer tools and finally I will have a look at the SDK.

    1. The Synology DS212j
    2. Setting up a Development environment on the NAS (this article)
    3. Running custom .NET/PHP/… code
    4. A look at the DSM4.1 SDK

Introduction

Writing this second part of the review was hard. Not that the subject was that hard to grasp, but I found it difficult to find the right angle. The DSM OS is built on top of the Linux kernel and tools. Although the web GUI of DSM does not offer a good support for developer tools (like versioning systems, bug trackers, project management applications …), the underlying Linux system does. And what is great, Synology does nothing to prevent users for accessing the power of this underlying system. All that is needed, is activating SSH support and connecting with the SSH client of your choice. When this is done, you have access to a full blown ARM-powered Linux system.

If you have no Linux or UNIX background it can sometimes be difficult to find your way. I personally am a Windows and .NET developer and although I am not scared from a command line or the PowerShell, it was sometimes quite difficult to find the location of configuration files and applications.

Not all users seem to have issues finding their way around on the DSM using SSH and numerous tutorials and forum posts are available explaining how to install various pieces of software like GIT, SVN, Trac, … The official Synology wiki also contains some valuable information to get you started.

But in a perfect world, setting up a GIT server should be possible with a few clicks in the DSM GUI and using some screens to configure users and create repositories. The same for packages like Trac, Bugzilla … I hope Synology is reading this or some brave developers who are willing to create the necessary 3rd party packages in their free time ;-)

MySQL

Let’s maybe start with looking to what is supported through the web based GUI. Activating MySQL support is a matter of selecting the necessary checkbox in the Web Services screen. The package center allows to additionally install phpMyAdmin. A web based tool for administrating MySQL databases. The only thing you have to know (but it is explained on the Synology website) is that the default username for phpMyAdmin is “root” with an empty password.

mySQL_activate phpMyAdmin

The MySQL database on the DS212j is both accessible for applications running on the NAS and for applications running on another computer. The simplest way to do this from .NET is using NuGet to get the ADO.NET driver for MySQL

MySQL_NuGet_Driver

I took the opportunity to develop some complex app, during this review to test out this feature ;-)

MySQL_connected

Performance varies based on the specs of the hardware, so do not expect to run the MySQL databases of your small enterprise on the DS212j. Nevertheless, if you are a computer geek it can be quite cool to have your own fat client apps connect to a centrally hosted database on your home network.

IPKG (Itsy Package Management System)

Linux distributions mostly rely on a package management system to ease the installation of additional software packages and components. IPKG is the package management system most frequently used on the DSM. In order to use it, you must download and install the correct version for the CPU available in the NAS (the DS212j is powered by a Marvel Kirkwood mv6281 ARM CPU). The following wiki pages on the Synology website explain how to determine the correct version:

1. http://forum.synology.com/wiki/index.php/Overview_on_modifying_the_Synology_Server,_bootstrap,_ipkg_etc

2. http://forum.synology.com/wiki/index.php/What_kind_of_CPU_does_my_NAS_have

ipkg

Subversion

Subversion support is not available out of the box or installable trough the package center, but the IPKG repository contains it. Installing and setting it up is quite simple if you follow this article on the Synology wiki (http://forum.synology.com/wiki/index.php/Step-by-step_guide_to_installing_Subversion). Although, I would prefer an integrated solution trough the package center.

I found it very convenient to host my own repositories on the local network :-)

svn_visual_studio_2012

Small recommendation: due to limited CPU and RAM resources on the DS212j I recommend to use the inetd method as explained on the Synology wiki. This method will only consume resources when required.

GIT

I the past I was a big fan of SVN, but more recently I became fund of GIT. Just like with Subversion, it is not supported by DSM trough the package center, but the IPKG repository contains it. Ryan Helco (http://www.bluevariant.com/2012/05/comprehensive-guide-git-gitolite-synology-diskstation/) took the effort to write down the necessary steps to set it up.

Just like with SVN, I have the same remark: it is not super complicated to set up, but it could be done a lot more integrated and user friendly.

Trac

Installing Trac is similar to Subversion and GIT, the package is available in IPKG (search for “py26-trac”). The official Trac documentation contains all the further documentation necessary to further configure the NAS: http://trac.edgewall.org/wiki/TracInstall.

trac_dsm

But again, why not making this available either officially in the package center or by some brave 3rd party developer?

NuGet Package Repository

Nowadays, NuGet is big in the .NET world. It is a package management system developed by Microsoft for .NET assemblies that simplifies adding them to projects and that helps tracking down dependencies. An official repository feed exists, but it is also quite easy to setup your own feed.

I tested the default NuGet server, but unfortunately the Mono version currently bundled with DSM is 2.11.1 and this prevents the default NuGet server from running. I hope Synology will upgrade to a 3.x version of Mono in the near future.

Summary

Like I already expressed in the introduction of this review, I found it very hard to rate the developer experience of the DS212j. Yes, most developer package can run on the DS212j and a lot of people have already done this successfully. Combined with its low power consumption, this makes it a great device to have in your local network.

Unfortunately, installing and configuring the necessary packages and tools is not always that user friendly. Though, either Synology or the 3rd party ecosystem could change this quite easy in the near future by adding a number of these packages to the package center. The bundled MySQL database and phpMyAdmin are a good example. Both are officially available and setting them up is a piece of cake.

About these ads
Categories: Review
  1. June 25, 2013 at 10:19

    Thanks for your helpful review. Do you think it’s possible to stream movies using the DS212j, or is a DS213 a better solution?

  1. February 5, 2013 at 15:09
  2. April 12, 2013 at 21:17

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 26 other followers

%d bloggers like this: