Why You Should Use Docker on a Synology NAS

  • Post author:WunderTech
  • Post published:May 20, 2024
  • Post last modified:May 20, 2024
  • Post category:Synology
  • Reading time:5 mins read

Share what you're reading!

One of the most common questions new users ask is why exactly they should use Docker. The truth is, Docker is kind of confusing initially, and a lot of the things that users want to install already have packages or alternatives in Synology’s Package Center.

For this reason, a lot of people naturally fall back to thinking that Docker is a waste of time and effort and it simply doesn’t provide enough value to learn and implement, but I’m here to explain exactly why you probably should use Docker for everything…especially if you’re willing to learn it.

What is Docker?

Docker is an open-source platform that allows you to deploy and manage applications inside of Containers. Containers are incredibly portable, meaning that you can take the data and move them to a completely separate device running Docker and it’ll work on that device as well. This is because Docker containers write their important configuration data to volumes (assuming it’s configured properly). That volume data can be moved to a separate device and recreated with minimal downtime, maintaining all previous functionality.

docker volume

Adding Docker Compose on top of it (which Synology’s Container Manager now supports), you can maintain a Docker Compose file that has the configuration for the Container as well. So not only is the data portable, but the actual configuration is portable as well – something that isn’t common outside of Docker containers.

docker compose example

Why Pick Docker Containers?

Using a Docker Container as opposed to a package has all of the benefits that we spoke of above in terms of portability, but it also brings the benefit of opening the possibilities to all types of different, standardized applications.

docker registry

For example, people love Synology Drive (and it’s my favorite tool), but it’s only available in Synology DSM. For users looking for an alternative, they can run something like NextCloud which would provide extremely similar functionality, with the benefit of being an application that runs on other operating systems as well.

This is arguably the biggest benefit, as you are indirectly locking yourself into an ecosystem if you use first-party tools. If you choose the Package comparison (using Plex as an example), the data will exist on the NAS and you’ll technically be able to get it, but not like you can with Docker. Instead, you’ll be looking through the Synology filesystem hoping to find the data and trying to piece it back together on whatever operating system you’re moving to.

This all ignores just how many total options you have with Docker. Synology’s Package Center is extremely limited, but Docker has an insane amount of packages. Some of my favorites being Pi-hole for DNS ad blocking, Uptime Kuma for uptime tracking, Vaultwarden for password management, and much more.

synology package center

The point is, there are some great first-party packages you can use and I’m not trying to discourage anyone from using them. It’s just that as time goes on, you’ll slowly realize (like I did), that Docker’s flexibility is worth the slightly more time-consuming setup process, especially after you learn how it all works!