{"id":3288,"date":"2023-12-04T09:41:37","date_gmt":"2023-12-04T15:41:37","guid":{"rendered":"https:\/\/lab.rapternet.us\/?p=3288"},"modified":"2023-11-05T22:14:38","modified_gmt":"2023-11-06T04:14:38","slug":"docker-compose-on-unraid","status":"publish","type":"post","link":"https:\/\/lab.rapternet.us\/?p=3288","title":{"rendered":"Docker Compose on Unraid"},"content":{"rendered":"\n<p>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.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>We&#8217;re going to start out in the community apps section. We&#8217;ll be using the docker compose manager plugin. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"991\" height=\"535\" src=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-1.png\" alt=\"\" class=\"wp-image-3289\" srcset=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-1.png 991w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-1-300x162.png 300w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-1-768x415.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption class=\"wp-element-caption\">Docker Compose Manager<\/figcaption><\/figure>\n\n\n\n<p>Once it&#8217;s installed, navigate to the docker page again and scroll to the very bottom. You&#8217;ll find new options available, besides the usual add container, you&#8217;ll now have the ability to add a new stack with docker compose.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"244\" src=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-2-1024x244.png\" alt=\"\" class=\"wp-image-3291\" srcset=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-2-1024x244.png 1024w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-2-300x71.png 300w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-2-768x183.png 768w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-2.png 1110w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption class=\"wp-element-caption\">At the bottom of the docker page in unraid<\/figcaption><\/figure>\n\n\n\n<p>When you add a new stack, you&#8217;ll need to give it a name, since I&#8217;m going to be installing Immich, that will be my stack name.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"557\" height=\"386\" src=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-3.png\" alt=\"\" class=\"wp-image-3292\" srcset=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-3.png 557w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-3-300x208.png 300w\" sizes=\"auto, (max-width: 557px) 100vw, 557px\" \/><figcaption class=\"wp-element-caption\">Stack Name<\/figcaption><\/figure>\n\n\n\n<p>Now you&#8217;ll have the new stack listed, if you click on the gear next to the name you&#8217;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.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"86\" src=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-4-1024x86.png\" alt=\"\" class=\"wp-image-3293\" srcset=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-4-1024x86.png 1024w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-4-300x25.png 300w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-4-768x65.png 768w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-4-1536x129.png 1536w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-4.png 1899w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption class=\"wp-element-caption\">New Stack Shown<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"693\" height=\"240\" src=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-5.png\" alt=\"\" class=\"wp-image-3294\" srcset=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-5.png 693w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-5-300x104.png 300w\" sizes=\"auto, (max-width: 693px) 100vw, 693px\" \/><figcaption class=\"wp-element-caption\">Stack Configuration Options<\/figcaption><\/figure>\n\n\n\n<p>This is where you&#8217;ll have the options to modify your compose file and environment file. There is also a UI label option that I haven&#8217;t used.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"876\" src=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/Screenshot_20230818-090800_1-1024x876.png\" alt=\"\" class=\"wp-image-3309\" srcset=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/Screenshot_20230818-090800_1-1024x876.png 1024w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/Screenshot_20230818-090800_1-300x257.png 300w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/Screenshot_20230818-090800_1-768x657.png 768w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/Screenshot_20230818-090800_1.png 1048w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption class=\"wp-element-caption\">Edit Stack Options<\/figcaption><\/figure>\n\n\n\n<p>Now that we&#8217;re in our compose file, we can start editing the yaml, for me, I&#8217;ll be pasting in the provided compose file for immich and modifying data directory locations.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"552\" src=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-6-1024x552.png\" alt=\"\" class=\"wp-image-3295\" srcset=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-6-1024x552.png 1024w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-6-300x162.png 300w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-6-768x414.png 768w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-6.png 1430w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption class=\"wp-element-caption\">Docker compose file entry<\/figcaption><\/figure>\n\n\n\n<p> 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.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"487\" height=\"925\" src=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-7.png\" alt=\"\" class=\"wp-image-3296\" srcset=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-7.png 487w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-7-158x300.png 158w\" sizes=\"auto, (max-width: 487px) 100vw, 487px\" \/><figcaption class=\"wp-element-caption\">Stack Labels<\/figcaption><\/figure>\n\n\n\n<p>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<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"661\" height=\"141\" src=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-9.png\" alt=\"\" class=\"wp-image-3314\" srcset=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-9.png 661w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2023\/08\/image-9-300x64.png 300w\" sizes=\"auto, (max-width: 661px) 100vw, 661px\" \/><figcaption class=\"wp-element-caption\">Start\/Stop\/Update\/Auto-Start<\/figcaption><\/figure>\n\n\n\n<p>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&#8217;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.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Resources<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/docs.ibracorp.io\/docker-compose\/docker-compose-for-unraid\" target=\"_blank\" rel=\"noreferrer noopener\">Blog Post on using docker compose manager<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>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 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/lab.rapternet.us\/?p=3288\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Docker Compose on Unraid&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":3289,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[13,14,15],"class_list":["post-3288","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-how-to","tag-docker","tag-quick-bites","tag-unraid"],"_links":{"self":[{"href":"https:\/\/lab.rapternet.us\/index.php?rest_route=\/wp\/v2\/posts\/3288","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lab.rapternet.us\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lab.rapternet.us\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lab.rapternet.us\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lab.rapternet.us\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3288"}],"version-history":[{"count":12,"href":"https:\/\/lab.rapternet.us\/index.php?rest_route=\/wp\/v2\/posts\/3288\/revisions"}],"predecessor-version":[{"id":3317,"href":"https:\/\/lab.rapternet.us\/index.php?rest_route=\/wp\/v2\/posts\/3288\/revisions\/3317"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lab.rapternet.us\/index.php?rest_route=\/wp\/v2\/media\/3289"}],"wp:attachment":[{"href":"https:\/\/lab.rapternet.us\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3288"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lab.rapternet.us\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3288"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lab.rapternet.us\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3288"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}