Create and manage a Docker Compose project on Synology
Use Container Manager on Synology DSM to create, start, verify and stop a Compose project, with checks for ports, image downloads and persistent data.
Eugene Gavrilov
6 min read- NAS & storage
Your app guide gives you a block of YAML. Container Manager can turn it into a running app from the DSM browser interface. Start with one project, open the app from a device on your home network and check that its saved data survives a restart.
Check your DSM package and app recipe
Sign in to DSM and search for Container Manager in Package Center. If you can install it for your model and DSM version, open it and look for Project. The older package named Docker has a different interface. If Package Center does not offer Container Manager or the Project page is missing, record your exact model and DSM version. In the Synology Download Center, select that exact model, then check the Container Manager entry under Packages and read the DSM requirement for the release offered. The general Container Manager package page lists Applied Models, while the release notes give requirements for specific builds. Use the package offered for your device.
Choose an app recipe for your NAS architecture and the image version it names. For a walkthrough with a first sign-in and restart check, use the Dockge installation guide. If the recipe asks for passwords or tokens, enter private values and keep them out of screenshots and support posts.
Match the recipe to your NAS
A Compose file describes the app's containers, including what they run and what they can access. Review three entries before pasting it into DSM.
| Entry | What it means | What to check |
|---|---|---|
image | Package downloaded to run the app | Check the publisher, tag or digest and supported CPU architecture. |
ports | A browser-facing NAS port mapped to the app's port | The browser uses the NAS port. Make sure it is free and keep the first run on a trusted network. |
volumes | Storage attached to the container | For a bind mount, the left side is the host path and the right side is the path inside the container. Create the host folders and keep the app's expected internal paths. |
The Project Path is the project's working folder. A bind mount with a separate absolute path can live outside it. Write down both locations before starting. If your recipe uses relative paths such as ./config, check which folder holds the Compose file before reusing the same configuration elsewhere.
Create the project and open the app
- In File Station, prepare the working folder and any separate data folders required by the app recipe. Make a new project folder so it is easy to tell it apart from other apps.
- In Container Manager → Project, choose Create. Set a unique project name and select the working folder as Path.
- Under Source, choose the editor to paste your YAML or upload the Compose file you already prepared. Review every NAS path and port before moving on.
- Leave the optional Web Station portal disabled for this local trial. Review the summary, finish the wizard and choose to start the project.
- Inspect the project and its containers. Open the address from the app recipe on a device on the same network, using your NAS's local address and the published port. If you cannot find your NAS address, start with finding your Synology NAS on the network.
If the app opens, create a harmless sample such as a named item or an empty test library. Restart the project, reopen the app and look for that same sample. If it disappears, stop before adding important data and verify the mounts and permissions.
Identify where startup failed
| What you see | First check |
|---|---|
| Image download fails | Check the repository and tag, free storage, and the NAS's connection to the registry. An architecture error calls for a compatible image. For a timeout, check the NAS DNS, time sync and registry connectivity before retrying. If the registry reports rate limiting, wait for the limit to reset or follow the registry’s authentication instructions. For a DNS failure, check the NAS resolver configuration using the DSM DNS walkthrough. |
| Container exits or loops | Open its log and read the first startup error. Verify the settings and paths it mentions. |
| Port is already in use | Identify the conflicting NAS port and follow the app recipe to change the host-side mapping. Reopen the app using that new port. |
| Container cannot write | Verify that the host path exists, its mount is writable and the container's documented user has access. See the Synology shared folder and permission guide. |
| Container runs but the page fails | Confirm the address, published port, protocol and app readiness. Try from the same local network before investigating remote access. |
Start with the message in the container details. In this example, the NAS folder named in the bind mount is missing. Check whether your recipe points to the right volume and folder. If the folder previously held app data, locate that data before creating an empty replacement.
Synology Container Manager example. Huncode cropped the view and underlined the error.
For a container that starts and then exits, open its details and select Log. Read the error before changing a setting. A message about a missing environment variable calls for checking the app image's configuration, while a missing bind mount calls for checking the NAS path.
Synology Container Manager example. Huncode cropped the view and underlined the Log tab.
If you need a browser view of logs from several containers, see viewing Docker logs with Dozzle on Synology.
Download, export or update an image
Open Registry to find an image by its repository name. Under Image, Container Manager also offers import from a saved file. To move a copy between devices, use Export on the source device and Import on the destination. An exported image contains the app package. Keep a separate backup of the app's data and configuration.
If the Image page offers Action → Update or Update available, review which containers use that image before confirming. Keep a record of the working version and follow the app publisher's update and rollback procedure. For a Compose project pinned to a tag or digest, change the recipe deliberately when the app guide calls for it. After deployment, check the running version, reopen your sample and read the logs before resuming normal use.
Stop safely, then plan changes
Use Stop to pause the existing project and Start to run its existing containers again. Restart restarts the project containers. For configuration changes, the project details provide a YAML Configurations view. Save a copy of the existing Compose file and make a separate backup of the app's data before applying edits. Follow the app's backup procedure for a database. Copying a running database directory can leave an unusable backup.
Treat Clean and Delete as removal operations. Synology documents that they can remove project resources or data. Check the confirmation and keep a verified copy outside the project before using either. If the goal is only to pause an app, use Stop.
Documentation and scope
The workflow draws on Synology's Project documentation, its Image documentation, its container troubleshooting guide and Docker's bind mount reference. Menu wording can vary with the installed package. The checks above are steps for the reader to perform on their own NAS.
Screenshots: Synology Knowledge Center, container troubleshooting guide, figures 4 and 5. Used with permission. Huncode added the crops and underlines.

