Docker Compose on Unraid

Recently I restarted my journey towards a self hosted photos system again. This time I was planning on trying it immich. Immich provides a docker compose file to startup their entire stack of 6+ containers, which I wanted to run on unraid that lacks compose in the default configuration. Queue journey to get docker compose capabilities on unraid.

We’re going to start out in the community apps section. We’ll be using the docker compose manager plugin.

Docker Compose Manager

Once it’s installed, navigate to the docker page again and scroll to the very bottom. You’ll find new options available, besides the usual add container, you’ll now have the ability to add a new stack with docker compose.

At the bottom of the docker page in unraid

When you add a new stack, you’ll need to give it a name, since I’m going to be installing Immich, that will be my stack name.

Stack Name

Now you’ll have the new stack listed, if you click on the gear next to the name you’ll be provided a number of options for configuring it. The edit stack option will give you the main options needed for your docker compose inputs.

New Stack Shown
Stack Configuration Options

This is where you’ll have the options to modify your compose file and environment file. There is also a UI label option that I haven’t used.

Edit Stack Options

Now that we’re in our compose file, we can start editing the yaml, for me, I’ll be pasting in the provided compose file for immich and modifying data directory locations.

Docker compose file entry

After saving the compose file, the stack ui labels dialog popped up, I left this as is and hit the save button at the bottom of it.

Stack Labels

For my stack, I also edited the environment file, copying in the immich default file and editing the variables for my environment and added secure passwords. Once that was done, I could use the compose up on my stack to try and start it up. The start/stop/update commands are on the right hand side of your new stack, along with the auto start option

Start/Stop/Update/Auto-Start

Once I got everything configured, it worked well on my first try starting it, no need to reconfigure and retry with different settings. All the containers in my stack came up and immich was running quickly. I’ll certainly be using this functionality for more software in the future. This also works out well with docker logins, so you can get a higher number of image pulls before docker hub blocks your pulls.

Resources

Leave a Reply