Synology's Container Manager (previously called Docker) is a DSM package that runs Docker containers directly on your NAS. Giving you a self-hosted application platform without needing a separate PC or server running 24/7. Common uses include running Home Assistant for smart home automation, Portainer for container management, Pi-hole for network-wide ad blocking, Nextcloud for self-hosted cloud storage, Jellyfin or Emby as a Plex alternative, and hundreds of other containerised applications. If it has a Docker image, it generally runs on a Synology NAS.
In short: Container Manager only runs on x86 (Intel/AMD) Synology NAS models. ARM models like the DS223, DS124, and DS223j don't support it. Install from Package Center, pull an image from the registry, configure port mappings and volume mounts, and start the container. For multi-container apps (e.g. a database + web app), use the Compose feature with a docker-compose.yml file. The most common problem is port conflicts with DSM services. Know which ports DSM uses before mapping.
Hardware Requirements: x86 Only
Container Manager requires an x86-based NAS (Intel Celeron, Pentium, Atom, or AMD Ryzen CPU). ARM-based NAS models. Including the DS124, DS223, DS223j, DS423, and BeeStation. Do not support Container Manager and will not show it in Package Center.
Current x86 models available in Australia that support containers:
- DS225+. Intel Celeron J4125, 2GB RAM (expandable to 6GB). $585 at Mwave. Handles 3-5 lightweight containers.
- DS425+. Intel Celeron J4125, 2GB RAM (expandable to 6GB). $899 at Mwave. Same CPU as DS225+, more drive bays.
- DS725+. AMD Ryzen R1600, 4GB RAM (expandable to 32GB). $869 at Mwave. Better for 6-10 containers or resource-intensive apps.
- DS925+. Quad-core, 4GB RAM (expandable to 32GB). $1,029 at Mwave. Handles concurrent container workloads alongside file serving.
RAM is the practical constraint for containers. Each container consumes 50-500MB RAM depending on the application. The base DS225+ with 2GB RAM can run 3-5 containers before hitting memory pressure. Upgrade to 6GB (using the SO-DIMM slot) for comfortable headroom. Ryzen models support up to 32GB, which enables serious homelab deployments.
Step 1. Install Container Manager
On an x86 Synology NAS, open Package Center and search for Container Manager. Install it. Choose a volume for container data storage when prompted. Select your main data volume.
Container Manager replaces the older Docker package (renamed in DSM 7.2). If you have the old Docker package installed, it continues to work but Synology recommends migrating to Container Manager as Docker will eventually be deprecated. The migration preserves existing containers.
After installation, open Container Manager from the App menu. The interface has four main sections: Container (running instances), Image (downloaded images), Registry (Docker Hub search), and Project (compose-based multi-container apps).
Step 2. Pull an Image and Run a Container
To run a container, start by pulling its image. Go to Registry, search for the application name (e.g. pihole/pihole, homeassistant/home-assistant, jellyfin/jellyfin), select the image, and click Download. Choose the latest tag unless you need a specific version.
Once the image downloads, go to Image, select it, and click Run. The container creation wizard opens with the key configuration fields:
- Container name: A friendly identifier. Use lowercase with hyphens (e.g.
homeassistant). - Auto-restart: Enable this. Containers with auto-restart survive NAS reboots. DSM starts them automatically after boot.
- Port settings: Map host ports (NAS ports) to container ports. For example, Pi-hole's web interface runs on port 80 internally. Map it to an unused host port like 8080 (
8080:80). DSM uses ports 80, 443, 5000, 5001, and several others. Avoid these for container host ports. - Volume mounts: Mount a NAS folder into the container for persistent storage. Without a mount, container data is lost if the container is removed. Create a dedicated folder in File Station (e.g.
/docker/homeassistant/config) and mount it to the container's config path (/config). This is critical. Always mount volumes for any data you want to persist. - Environment variables: Many containers require config via environment variables (timezone, passwords, API keys). Check the image's documentation on Docker Hub for required variables.
Step 3. Use Docker Compose for Multi-Container Apps
Many applications require multiple containers working together. A web app plus a database, for example. Container Manager's Project feature handles this using standard docker-compose.yml files.
Go to Project > Create. Give the project a name, create a directory for it (e.g. /docker/nextcloud), and paste in the docker-compose.yml content. Container Manager will pull all required images and start all services in the correct order, handling the inter-container networking automatically.
Example use case: Nextcloud (self-hosted file sharing) requires a web app container plus a database (MariaDB or PostgreSQL). The official Nextcloud Docker Compose file on Docker Hub defines both. Paste it into a Project, set the required environment variables (database password, data path), and Container Manager deploys both containers and connects them. A docker-compose.yml approach is strongly preferred over manual container creation for anything beyond single-container apps. It documents your entire deployment in one file and makes rebuilding after a NAS migration trivial.
Step 4. Manage Ports to Avoid DSM Conflicts
DSM occupies several ports that will conflict with container port mappings if you're not careful:
- 80, 443. DSM web interface (HTTP/HTTPS)
- 5000, 5001. DSM admin panel (HTTP/HTTPS. Alternative ports)
- 22. SSH
- 873. Rsync
- 3306. MariaDB (if installed)
- 6690. Synology Drive
Map containers to unused high ports (8080, 8443, 9000, etc.) to avoid conflicts. If you need a container to appear on port 80 or 443 (for clean URLs), put a reverse proxy in front. Either DSM's built-in Application Portal (Control Panel > Application Portal > Reverse Proxy) or a containerised reverse proxy like Nginx Proxy Manager or Traefik.
A reverse proxy lets you access containers via custom domain names (e.g. homeassistant.local) rather than remembering port numbers, and handles SSL certificates if you expose services externally.
Common Issues
Container keeps restarting: Check container logs in Container Manager > Container > select container > Detail > Log. Crash loops usually indicate a misconfiguration. Missing environment variable, permission error on the mounted volume, or a port conflict. Logs will show the error.
Volume mount permissions: DSM file permissions can block containers that run as non-root users. If a container fails to write to a mounted folder, check the folder permissions in File Station. Set the folder owner to Everyone read/write, or set the specific UID the container process runs as (visible in the container logs or Docker Hub docs).
Container Manager not visible in Package Center: You're on an ARM NAS. Container Manager only appears on x86 models. Check your model's compatibility page on Synology's website.
Memory pressure: If containers are being OOM-killed (out-of-memory), increase RAM or reduce the number of running containers. Container Manager doesn't cap individual container memory by default. Add memory limits in the compose file or container advanced settings to prevent one misbehaving container from affecting the whole NAS.
Related reading: our NAS buyer's guide, our Synology brand guide, and our NAS explainer.
Use our free NAS Sizing Wizard to get a personalised NAS recommendation.
Can I run Home Assistant on a Synology NAS?
Yes. Home Assistant is one of the most popular self-hosted containers on Synology NAS. Use the homeassistant/home-assistant Docker image. Key requirements: mount a persistent config volume, set the timezone environment variable (TZ=Australia/Sydney), enable host network mode for device discovery (required for mDNS/Zeroconf-based integrations like Zigbee coordinators connected via USB passthrough). A DS225+ handles Home Assistant comfortably. The memory footprint is around 200-400MB for a typical smart home deployment.
Does Container Manager support GPU passthrough for AI/transcoding workloads?
Not directly. Container Manager doesn't expose hardware GPU passthrough the way a dedicated server with NVIDIA Docker runtime would. DSM does include hardware-accelerated transcoding APIs that Synology's own apps use (Plex, Video Station), but these aren't accessible to arbitrary Docker containers. If you need GPU acceleration in containers (for AI workloads like local LLMs or image generation), a dedicated server or Unraid build is more appropriate than a Synology NAS.
What is the difference between Container Manager and the old Docker package?
Container Manager is the renamed and updated Docker package introduced in DSM 7.2. It adds the Project/Compose feature (multi-container apps via docker-compose.yml), improved UI, and better integration with DSM. The underlying Docker engine version is also updated. If you have the old Docker package installed, it still works. Synology has committed to supporting it for now. But Container Manager is the current standard and the one to use for new deployments.
Can I update containers automatically?
Container Manager doesn't have built-in auto-update. The recommended approach is to run Watchtower as a container. It monitors running containers and pulls updated images automatically when they're published. Set Watchtower to a scheduled update window (e.g. weekly, off-peak hours) to avoid unplanned service interruptions. Alternatively, update manually: in Container Manager, go to Image, download the new version, stop the running container, and recreate it using the new image.
How many containers can I run on a Synology NAS?
The practical limit is RAM, not a software cap. A DS225+ with 2GB RAM can comfortably run 3-5 lightweight containers (Pi-hole, Home Assistant, a monitoring tool, a small media server). Upgrading to 6GB RAM (the max for DS225+) extends that to 8-12 containers. A DS925+ with 32GB RAM can support dozens of containers simultaneously. CPU is rarely the constraint for typical home containers. RAM and disk I/O are the bottlenecks for most workloads.
Is it safe to run public-facing containers on a Synology NAS?
Only with proper hardening. If you're exposing containers to the internet (e.g. a Nextcloud or Vaultwarden accessible from outside the home), use a reverse proxy with SSL, set strong authentication, keep containers updated, and monitor logs for unusual access. Don't expose DSM management ports (5000/5001) directly to the internet. Synology's Security Advisor (Control Panel > Security > Security Advisor) can identify common misconfigurations. For home lab use, a VPN-only access model (no public ports open) is the safest approach. See the remote access guide for VPN setup options.
Running containers on your NAS and want to access them remotely? The NAS remote access guide covers DDNS, reverse proxy, VPN, and CGNAT solutions. Including what works on Australian NBN connections.
Remote Access Guide →