Independent Australian Storage & Infrastructure Authority

Synology Docker Setup Guide: How to Run Containers on Your NAS (Australia)

Synology's Container Manager lets you run Docker containers directly on your NAS. Self-hosted apps, home automation, media servers, and more without needing a separate server. This guide covers installation, pulling images, composing multi-container apps, and the hardware requirements that trip up Australian users.

How-To Configure & Protect Synology

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 the image supports your NAS CPU architecture and does not require unavailable host features or devices, it may run on a compatible Synology NAS.

In short: Container Manager runs on x86_64 and selected ARMv8 Synology NAS models; check Synology's current applied-model list for your model. Selected ARMv8 models, including the DS223, DS124, and DS223j, support Container Manager on compatible DSM versions. 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 supports x86_64 and selected ARMv8 Synology NAS models. Container Manager compatibility is model-specific. Synology's current list includes ARMv8 models such as the DS124, DS223, DS223j, and DS423; check the applied-model list before purchase.

Current x86 models available in Australia that support containers:

RAM is the practical constraint for containers. The base DS225+ has 2GB RAM, but usable container capacity depends on the applications, workloads, memory limits and other NAS services. 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 identifies Container Manager as the successor to the Docker package and distributes it through Package Center. The migration preserves existing containers.

After installation, open Container Manager from the App menu. The interface includes Overview, Project, Container, Image, Registry, Network, and Log sections.

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 tag recommended by the image publisher's documentation; do not assume the latest tag is appropriate for every deployment.

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 pulls the images and creates project networking; startup ordering requires dependencies in the Compose file, and service readiness may also require health checks and dependency conditions.

Example use case: The official Nextcloud container uses SQLite by default and can instead connect to MySQL/MariaDB or PostgreSQL; production deployment choices should follow Nextcloud's current documentation. 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 . Web Station and some Synology web services (HTTP/HTTPS)
  • 5000, 5001. DSM admin panel (HTTP/HTTPS. Alternative ports)
  • 22. SSH
  • 873. Rsync
  • 3307 . MariaDB 10 when TCP/IP connections are enabled (verify the configured port)
  • 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 reverse proxy (Control Panel > Login Portal > Advanced > Reverse Proxy in DSM 7) 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: Check the exact NAS model, DSM version, and Synology's current applied-model list; selected ARMv8 models are supported. 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.

See also: our complete Synology NAS Australia guide.

Once one container is running, the real question is how many a single box can sensibly host. We cover memory, CPU contention and what actually falls over first in running multiple self-hosted apps on one NAS.

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 network discovery, and map any directly attached Zigbee USB coordinator separately as a container device. How comfortably a DS225+ runs Home Assistant depends on integrations, database growth, connected devices and other NAS workloads.

Does Container Manager support GPU passthrough for AI/transcoding workloads?

Not directly. GPU access is model-specific. Container Manager 24.0.2-1630 added NVIDIA GPU-resource access on compatible models through Synology's NVIDIA Runtime Library. Container hardware acceleration depends on the NAS model, available render devices, drivers and container configuration; supported containers can use exposed GPU resources on compatible systems. 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. 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. Use manual updates, or evaluate a currently maintained updater after reviewing its security model and compatibility. 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. Container capacity depends on each workload's CPU, memory, storage I/O, architecture and configured limits; monitor actual resource use and size the NAS accordingly. The limiting resource varies by workload and may be CPU, RAM, storage I/O or network throughput.

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 (Main Menu > 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.

What to read next