
If you have a Synology with an x86 CPU it is very easy to run Docker Containers on your Synology. If you have a ARM-based Synology systems, this does not work, because most of the Docker Images requires a x86 architecture
My Setup
- Synology DS718+ with 2GB RAM by default {target=_blank rel=noopener}
- Kingston 8 GB RAM Extension {target=_blank rel=noopener}
- WD RED 6 TB Primary HDD {target=_blank rel=noopener}
- WD RED 6 TB Secondary HDD {target=_blank rel=noopener}
- 128 GB SanDisk Ultra External USB {target=_blank rel=noopener}
Install Docker from the Package Center
Open your Package Center, search for Docker in the top-bar and install the Docker package.
If the package is installed, open Docker.
Load MongoDB from registry
Search for MongoDB in the official Docker Registry and right-click on mongodb to download the image.
I have used the version 4 (mongo:4)
Launch MongoDB
Click on the downloaded MongoDB image and press the Launch button.
A window opens where you can configure your MongoDB container.
Setup Name and limit Resources
If you want to limit the resource to a container, you can set the priority and max RAM-usage. 1 GB of RAM for MongoDB means it can hold aprx. 100.000 entries in RAM.
Setup Advanced Settings
On the same window you have a button Advanced Settings
Enable AutoStart - if you want
AutoStart means the Docker Container will automatically start, if your System starts. This makes sense.
Volume
Map a folder for your data. Otherwise your data will be inside your container! This means you will not be able to upgrade your container to a new MongoDB version and you will lose all data if you delete your container.
My mapping is:
- Local folder
MONGO_INITDB_ROOT_USERNAMEto mount path/data/db- not read-only
Port Settings
By default MongoDB listens to 27017. You can use any unused port, the default port or you let Synology automatically set a port.
Links
You do not need any settings here.
Environment
You need two required environment variables. I have not touched the default environment variables.
- The var
MONGO_INITDB_ROOT_USERNAMErepresents your admin username likeYourAdminNameHere - The var
MONGO_INITDB_ROOT_PASSWORDrepresents your admin password likeYourPassword777!Here
Ready. You can now start and run MongoDB.
Admin Tool
By default MongoDB has no administration tool on board.
You can use the free tool Robomongo {target=_blank rel=noopener} to connect to your MongoDB Instance. Use you synology adress and your MongoDB port to connect with your credentials you’ve set in your Docker environment variables.
Related articles

Jul 21, 2018 - 2 min read
Synology DS718+ RAM Upgrade
By default, the Synology DS718+ comes with 2GB of RAM. This article shows how to extend the Synology DS718+ to 10GB by another 8GB bar. In …

Jan 18, 2018 - 1 min read
Convert ext4 file system to the new btrfs on a Synology NAS
After five years I decided to replace my Synology DS213air with a new Synology DS718+. The reasons were: More power Support to run Docker …
Let's Work Together
Looking for an experienced Platform Architect or Engineer for your next project? Whether it's cloud migration, platform modernization or building new solutions from scratch - I'm here to help you succeed.
