I have several decades of engineering and computer experience, but I'm finding it surprisingly difficult to get Immich running in Docker on a UGREEN NAS. Most installation guides describe themselves as easy, yet they assume knowledge I don't have. For example, when a guide says to run a Docker restart command, I'm not sure whether that belongs in PowerShell, Command Prompt, a Linux terminal, or somewhere on the NAS itself. PowerShell doesn't recognize Docker commands on my system, and installing Docker Desktop led to environment, WSL, and Hyper-V setup issues that created even more confusion. Is there a genuinely beginner-friendly guide that starts with the fundamentals: what Docker is, where commands are entered, how the NAS and Windows computer fit together, and how Docker Compose is used to deploy and maintain an application like Immich?
4 Answers
A step-by-step NAS guide can get Immich working when the general Docker documentation feels too abstract. Just keep in mind that a click-through guide may hide important details by using a graphical container manager. After the initial setup, learn how the Compose YAML file maps ports, stores the database, and points to your photo library so you can maintain the installation instead of only reproducing it once.
First determine where you want Docker to run. If it’s on the NAS, the Docker commands need to be entered on the NAS, usually through its terminal or an SSH session—not automatically in Windows PowerShell. If the NAS supports Docker, running it there is usually cleaner than setting up Docker Desktop on Windows. A web interface such as Portainer can make the first deployment easier, but learning Docker Compose is worthwhile because it gives you more control over updates, configuration, volumes, and the container lifecycle.
Docker Desktop can also expose commands to PowerShell once its Windows and WSL requirements are configured, but a native Linux environment or the NAS itself is generally less confusing for server workloads.
Start with basic Linux command-line concepts and the official Docker introduction. Before tackling Immich, it helps to understand the difference between Docker itself, containers, images, volumes, Compose files, and the machine where Docker is actually running. Most Immich instructions assume a Linux-style terminal and a working Docker installation.
That’s probably the missing foundation. I had read parts of the Docker documentation, but I was clearly trying to jump ahead without understanding the basics.
Windows Docker setups can involve Docker Desktop, WSL, virtualization, and sometimes Hyper-V, so they add several layers that tutorials often skip. A small Linux computer or a NAS with built-in Docker support may provide a simpler long-term home for services. If you do stay with Windows, finish the WSL and virtualization setup first, reboot when required, and verify that a basic Docker command works before attempting something as complex as Immich.

That distinction makes sense. I mainly need a practical starting point, but I also want to understand enough to manage future containers and protect the persistent data.