guides

Getting Started with Your Synology: Docker/Container Manager vs. the Package Center

A Synology DiskStation NAS unit
A Synology DiskStation NAS. Photo: DYVER, CC BY-SA 4.0.

Your NAS is set up, storage is sane, 2FA is on. Next decision shapes everything after it: how you install software on this thing. DSM gives you two paths and they aren’t interchangeable.

Written for DSM 7.2, where Synology’s old “Docker” package was renamed Container Manager and gained native docker-compose support. On older DSM versions the app is still called Docker and the Project/compose feature isn’t there. Everything else below still applies.

Package Center: the appliance path

Package Center installs Synology-native .spk packages. That’s Synology’s own apps (Drive, Photos, Surveillance Station) plus a curated set of third-party software packaged specifically for DSM. Updates are handled centrally, uninstalling is clean, and there’s almost nothing to configure past the app itself.

The tradeoff is selection and freshness. You get what Synology or the community SynoCommunity repo has packaged, and it can lag upstream releases by weeks or months. Fine for infrastructure you want to just work. Not where you’ll find most self-hosted apps.

Container Manager: the actual homelab path

Container Manager is a GUI over Docker Engine. Anything published as a Docker image runs here, whether or not Synology ever packaged it for DSM. By now that’s most of the self-hosted world.

As of DSM 7.2 its Project tab takes a real docker-compose.yml directly. That’s the part that matters. A compose file is a plain text description of the whole setup, image and ports and volumes and environment variables, that you can keep, version, and reuse. The alternative is a pile of GUI settings that exist only inside DSM’s own database.

This is the path we’d point a homelabber at by default. Package Center isn’t bad. It’s that the entire self-hosted ecosystem publishes Docker images first and DSM packages second, if ever. Plex, Jellyfin, the Arr stack, Nextcloud, Portainer, all of it.

Two habits worth having from day one

Pin image versions instead of riding :latest. Leaving everything on :latest is tempting because it always grabs the newest build. It also means an update can quietly break something with no warning and no easy way to tell which update did it. Pin a version, bump it when you actually mean to.

Keep container data on mapped volumes outside the container. A database, config directory, or media library that only exists inside a container’s own filesystem is gone the moment you remove or rebuild that container. Map it to a real folder on the NAS. Every time.

Next: Choose Your Path: Plex or Jellyfin →

Leave a comment

Your email address will not be published. Required fields are marked *