Docker Unsupported Synology

2/13/2022by admin

This article guides you how to configure Docker on Synology J series like DS220j which is not officially supported by the Synology.

Ensure that you have Docker installed. Docker Compose is automatically installed on a Synology NAS, but the device must have Docker installed. Ensure you can SSH into your Synology NAS. Open Control Panel, select Terminal & SNMP, and Enable SSH service. If you are using Synology’s Firewall, ensure that you allow port 22 traffic. DDSM (Docker DSM) support has been killed a while back, but just to be clear, it is definetly not coming back, and it is not supported with this version as well. Version: 20.10.3-0552 (2021-06-01) Important Note. The update is expected to be available for all regions within the next few days, although the time of release in each region may vary. Jul 29, 2020 download chrome on ubuntu 20.04 unsupported file. Synology virtual machine install agent. Got permission denied while trying to connect to the Docker daemon. A lightweight software containerization solution powered by Docker Inc. By leveraging this cutting-edge technology, Synology delivers even more packages for seamless deployment on your NAS, such as Redmine or GitLab. Live Demo Applied models. Apr 09, 2021 Download the Synology Assistant app from Synology Support site (for any NAS model they are all the same) for your desktop PC OS. Run the Assistant and let it detect the NAS on the network: As you will notice, the version is still DSM 7 (41222 beta in this case) but the status of the NAS has changed to Migratable, this is what we want.

Unsupported

I love Docker, it makes my work simpler and helps me to keep the environment of my OS clean.I can play with software without the risk of the damaging impact (hard to revert/control some modifications) of the introduced changes.

ARM platform became more and more popular in the IoT world, the good thing is our NAS is based on ARM CPU.

The Synology server is the best fit for HomeAssistant if you have Synology already and thinking to play with smart home solutionsbut when you try to configure your NAS as a HomeAssistant you end up with nothing or spend hours trying to make it work.

In my case I was disappointed the HomeAssistant package is available on package center only for more expensive Synology and started thinking to obtain RaspberryPI but it is another device in my home which consumes energy justfor running HomeAssistant while Synology is working as a file server it caused me to try again, and I managed it :)

It only applies to the Synology products which are running on ARM-based 32bit processors

You have few options here:

  • Try to install HomeAssistant from sources
  • Forget about Synology as a runtime environment for Docker
  • or do what I did when I’ve decided to dig deeper and understand the Synology architecture

What we need

  • SSH access enabled on Synology -> (Go to DSM UC > Control Panel > Terminal & SNMP > Terminal, and tick Enable SSH service)
  • Static binaries of docker Binaries List

Don’t worry I’ll explain to you step by step how to make it working on your ARM-32bits-based server.

Let’s start

Overview, gathering facts

Please SSH-in to your Synology. If you are using OS X or Linux open up the terminal and type.

Install docker on unsupported synology

Windows users need to use the PUTTY client.

Synology file structure

Synology is running on build-in volume which is relatively small ~2.3GYou need to know all of your docker images which you download from internet needs to be stored somewhere else.So where? In your data volume, so for the purpose of this guide I’ll name it as volume1, and we are assuming it is placed here

Call df -h to list your volumes

So mine is the last one on the list, and I’d use it for the Docker images persistence.

CPU info

My Synology DS220 sudo cat /proc/cpuinfo output:

Ok, so what does it mean to me, if the Docker static list shows the list something like that:

Install Docker Unsupported Synology

Useful explanation you can find here:

  • The ARM EABI (armel) port targets a range of older 32-bit ARM devices, particularly those used in NAS hardware and a variety of *plug computers.
  • The newer ARM hard-float (armhf) port supports newer, more powerful 32-bit devices using version 7 of the ARM architecture specification.
  • The 64-bit ARM (arm64) port supports the latest 64-bit ARM-powered devices.

Source: https://www.debian.org/ports/arm/index.en.html

So ours is armhf

Binaries download & testing

Unsupported

Ok, we know a little more about or hardware, so it is a good time to download binaries and proceed with the installation.

Go to your home directory and prepare a directory for the download and extraction of the archive

You need to replace phrase: URL_TO_DOCKER_BINARY_GOES_HERE with valid URL to the most recent docker binary for example docker-19.03.9 taken from here

Ok, let’s extract the repository

Where docker-x.x.x.tgz is downloaded TAR archive

Before we install the extracted files we can test is the docker binary compatible with our OS, so let’s change the directory to extracted one and test the binary like below:

the output example:

The output should be the downloaded docker version info of the docker binary if we receive an error message instead it means we downloaded an incompatible package.

Docker Unsupported Synology Download

IMPORTANT: I’ve got segmentation fault error for next releases higher than 19.03.8 so if you are getting this error to 19.03.8 should work for you.

Docker unsupported synology commands

Docker installation

You can go to this document directly or read the entire description below

Let’s check where you are

should output

Docker Unsupported Synology Software

Time to install your docker:

  • IMPORTANT you are in the extracted directory of docker archive
  • What we are going to do right now
    • Change directory to level up just for safety and readability
    • Copy all binaries to /usr/bin/ directory
    • Cleanup downloaded resources

Start the Docker daemon:

If no error message is thrown means it runs :)

Docker Unsupported Synology List

Press CTRL+C to stop the running process.

Additional configuration

We need to tell Docker we need to store data in our /volume1 but before we need to create a place for Docker there

Docker needs a config file for that:

so you need to create/edit following file /etc/docker/daemon.json

Configuration testing

To test docker can run call dockerd command

To stop press CTRL+C

Reboot your Synology you can type

Once it is up SSH-in again and type to test your Docker

You should see finally the output from the hello-world container

CONGRATULATIONS YOU HAVE SUCCESSFULLY INSTALLED DOCKER ON your ARM-32b-based NAS!

Comments are closed.