What Is Portainer and Why Install It on a Synology NAS?
Portainer is a lightweight management UI for Docker that makes it easy to deploy, monitor, and troubleshoot containers without memorising CLI commands. Running it on a Synology NAS turns your always-on storage device into a powerful self-hosted application server with a friendly web dashboard.
Prerequisites
- A Synology NAS running DSM 7.0 or later (DSM 6 works too, but steps differ slightly).
- The Container Manager package (formerly “Docker”) installed from Package Center.
- An account with administrator privileges.
- SSH access enabled (Control Panel → Terminal & SNMP → Enable SSH).
Method 1: Install via SSH (Recommended)
Step 1 – Connect via SSH
Open a terminal and connect to your NAS:
ssh [email protected]
Switch to root if required:
sudo -i
Step 2 – Create a Persistent Volume
Create a directory on your NAS volume to store Portainer data so it survives container restarts:
mkdir -p /volume1/docker/portainer
Step 3 – Pull and Run Portainer
docker run -d
--name=portainer
--restart=always
-p 9443:9443
-p 8000:8000
-v /var/run/docker.sock:/var/run/docker.sock
-v /volume1/docker/portainer:/data
portainer/portainer-ce:latest
Port 9443 serves the HTTPS web UI; port 8000 is used for Edge Agent communication (optional).
Step 4 – Access the Web UI
Open a browser and navigate to https://YOUR-NAS-IP:9443. You’ll be prompted to create an admin user on first launch. Complete the wizard, choose the Local Docker environment, and you’re done.
Method 2: Install via Docker Compose
Step 1 – Create the Compose File
Create a file at /volume1/docker/portainer/docker-compose.yml:
version: "3"
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
restart: always
ports:
- "9443:9443"
- "8000:8000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
volumes:
portainer_data:
Step 2 – Start the Stack
cd /volume1/docker/portainer
docker-compose up -d
On DSM 7.2+ you may need to use docker compose (without the hyphen) as Synology ships the Compose V2 plugin.
Post-Install Tips
Keep Portainer Updated
Portainer publishes frequent updates. To upgrade, stop and remove the old container, pull the latest image, and re-run the docker run command above. Your data persists in the mounted volume.
Enable HTTPS with a Custom Certificate
If you have a domain pointing to your NAS, you can pass your own TLS cert using the --sslcert and --sslkey flags, or place a reverse proxy (like Nginx Proxy Manager) in front of Portainer.
Resource Usage
Portainer CE is lightweight—typically consuming around 20–40 MB of RAM. It’s well-suited even for entry-level Synology models like the DS220+ or DS423.
Firewall Considerations
If you use the Synology firewall (Control Panel → Security → Firewall), make sure to allow traffic on ports 9443 and 8000 from your local subnet.
Troubleshooting
- “Permission denied” on docker.sock – Make sure you ran the command as root or with
sudo. - Container won’t start after DSM update – Synology updates occasionally reset Docker. Re-run the
docker runcommand; your data volume is intact. - Port conflict – If another service uses 9443, change the host port:
-p 9444:9443.
Conclusion
Portainer transforms container management on a Synology NAS from a CLI-only experience into a visual, intuitive workflow. Whether you use the SSH one-liner or Docker Compose, the entire setup takes under five minutes and gives you a production-ready dashboard for all your self-hosted applications.
Recommended Hardware & Hosting
Build your homelab with hardware tested and used by our team.
Affiliate links — we may earn a small commission at no extra cost to you.