Skip to main content
Self-Hosted

Install Portainer on Synology NAS with Docker (2026 Step-by-Step)

Mustafa · · 3 min read

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 run command; 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.

Share this article