This article guides you how to configure Docker on Synology J series like DS220j which is not officially supported by the Synology.
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.
Feb 02, 2021 To install Sonatype Nexus on a Synology Docker instance, log on to the Synology DSM and select the Docker page. Be sure the Docker package is installed: If not, install it via the Package Center. Go to the Image tab and search for sonatype/nexus3 image. Click the 'Download' button. The image will be downloaded from the registry. In this tutorial, we are going to use Docker compose to install the NextCloud official Docker image with Portainer. To start This is going to be just one of many ways to install NextCloud. I am going to show you my way. First, you need to. Installation steps. Step 1 - Determine your PUID and PGID values. Step 2 - Create a TUN/TAP Adapter on the Synology. Step 3 - Downloading the Deluge Docker image. Step 4 - Create a container from the downloaded image. Step 5 - Configure the General container settings.
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.
Overview, gathering facts
Please SSH-in to your Synology. If you are using OS X or Linux open up the terminal and type.
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
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.
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:
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.
So ours is armhf
Binaries download & testing
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
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.
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.
You can go to this document directly or read the entire description below
Let’s check where you are
Synology Docker Installieren
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
- Cleanup downloaded resources
Start the Docker daemon:
If no error message is thrown means it runs :)
Press CTRL+C to stop the running process.
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
Synology Docker Install Mysql
Synology Docker Install For Windows
To test docker can run call
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!