{"id":16400,"date":"2026-01-05T09:55:42","date_gmt":"2026-01-05T16:55:42","guid":{"rendered":"https:\/\/macblaze.ca\/?p=16400"},"modified":"2026-01-04T11:08:52","modified_gmt":"2026-01-04T18:08:52","slug":"immich-implemented","status":"publish","type":"post","link":"https:\/\/macblaze.ca\/?p=16400","title":{"rendered":"Immich Implemented"},"content":{"rendered":"<p>Well I think I an 90% sure this is the way I will go. Back in <a href=\"https:\/\/macblaze.ca\/?p=16375\">New Image Management?<\/a> I mentioned I was testing <a href=\"https:\/\/immich.app\/\" target=\"_blank\" rel=\"noopener\">Immich<\/a> as possible replacement for Apple Photos and the iphone app. I tested it out and even used it at a family visit to Brooks and so far it has performed flawlessly. I covered some of this in the original post but I thought I would\u00a0 add in a bit more detail.<\/p>\n<h2>Server<\/h2>\n<p>I have this installed on my Mac Mini (2019) which has basically become my server these days. Maybe a post later about how that is set up now. Much of this is based on <a href=\"https:\/\/rhettbull.github.io\/osxphotos\/tutorial.html\" target=\"_blank\" rel=\"noopener\">https:\/\/rhettbull.github.io\/osxphotos\/tutorial.html<\/a>&#8216;s tutorial.<\/p>\n<h2>Step 1 Docker<\/h2>\n<p>Everything is Docker (containerized) so, other than the Docker overhead, it is pretty clean install-wise. I decided to go with Docker&#8217;s <a href=\"https:\/\/docs.docker.com\/desktop\/setup\/install\/mac-install\/\" target=\"_blank\" rel=\"noopener\">Docker Desktop<\/a> for the Mac rather than jump through the hoops to install it on the system itself&#8230; lower overhead vs easier management&#8230; and I was lazy.<\/p>\n<p>Then I followed <a href=\"https:\/\/docs.immich.app\/install\/docker-compose\" target=\"_blank\" rel=\"noopener\">Immich&#8217;s install guide<\/a>. The only real tricky part was that on a Mac if you try to &#8216;get&#8217; the .env file it immediately is invisible (<code>wget -O .env https:\/\/github.com\/immich-app\/immich\/releases\/latest\/download\/example.env<\/code>). So I modified the command to read <code>wget -O example.env https:\/\/github.com\/immich-app\/immich\/releases\/latest\/download\/example.env<\/code> and then after editing it renamed it (in terminal <code>mv example.env .env<\/code>) to .env<\/p>\n<h4>The .env (Environment)<\/h4>\n<p>I changed the location of my library to a folder on my Mini and decided to put the postgres database there as well. Not sure if this is best practice but I am tired for hunting for elements years later when I need to change or clean up something. And then I set the time zone to <code>America\/Edmonton<\/code>.<\/p>\n<p>Just a note to remind you if you want to edit the .env in a text editor then hit cmd-shift-. (period), this will show all the invisible files so you can just drag the .env file to BBEdit etc. Just remember to hit cmd-shift-. again to hide them all or all the hidden files will clutter up everything.<\/p>\n<p>Save the file.<\/p>\n<h4>Docker Compose<\/h4>\n<p>Make sure you are in the right directory (the one with all these files) and run the downloaded docker compose command <code>docker compose up -d<\/code>. This will invoke Docker, run though the compose file to download and set up everything and the <code>-d<\/code> ensure it is running in the background.<\/p>\n<p>That&#8217;s it. You should be up and running at http:\/\/&lt;machine-ip-address&gt;:2283<\/p>\n<h2>Step 2 Apple Photos<\/h2>\n<p>The next big challenge is to get the photos from Photos to Immich.<\/p>\n<p>If, like L, you have a bunch of images on your phone or iPad that aren&#8217;t on your desktop the easiest was is to download the <a href=\"https:\/\/apps.apple.com\/us\/app\/immich\/id1613945652\" target=\"_blank\" rel=\"noopener\">Immich App<\/a> from the store and set it up to back-up all the images. Once that&#8217;s done you can set it to only back up Recent and every time you open Immich on your phone it will upload the images to the server.<\/p>\n<p><a href=\"https:\/\/macblaze.ca\/wp-content\/uploads\/2026\/01\/IMG_0732-1.png\"><img loading=\"lazy\" class=\"aligncenter size-large wp-image-16402\" src=\"https:\/\/macblaze.ca\/wp-content\/uploads\/2026\/01\/IMG_0732-1-354x1024.png\" alt=\"\" width=\"354\" height=\"1024\" srcset=\"https:\/\/macblaze.ca\/wp-content\/uploads\/2026\/01\/IMG_0732-1-354x1024.png 354w, https:\/\/macblaze.ca\/wp-content\/uploads\/2026\/01\/IMG_0732-1-138x400.png 138w, https:\/\/macblaze.ca\/wp-content\/uploads\/2026\/01\/IMG_0732-1-52x150.png 52w, https:\/\/macblaze.ca\/wp-content\/uploads\/2026\/01\/IMG_0732-1-531x1536.png 531w, https:\/\/macblaze.ca\/wp-content\/uploads\/2026\/01\/IMG_0732-1.png 640w\" sizes=\"(max-width: 354px) 100vw, 354px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>As for the main Photos Library I covered that back in the original post (<a href=\"https:\/\/macblaze.ca\/?p=16375\">New Image Management?<\/a>).<\/p>\n<h2>Settings<\/h2>\n<p>A few settings and tweaks.<\/p>\n<ul>\n<li>I enabled tags Account Settings &gt; Features &gt; Tags. This shows all the tags that I had set in Photos and allows me to set more.<\/li>\n<li>I changed the library so it organized itself in a more understandable way. Originally all the images were stored in folders like <em>\/Immich\/upload\/8e403d85-6740-4ba7-8549-0feb702f0cb3\/6a\/04<\/em>. By going to Administration &gt; Settings &gt; Storage Template and enabling it you can set the folders to year\/month\/ date etc. and it will migrate all the images to the new structure e.g. \/<em>Immich\/library\/User-1\/1956\/1956-01-01\/001 &#8211; 1956.jpg<\/em>.\n<ul>\n<li>Then you have to go to Administration &gt; Jobs &gt; Storage template migration and click Start<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>A Second Library<\/h2>\n<p>One of the neater things is that you can set up a second user and use the server for them as well. I did this and set up all L&#8217;s images to be stored in a different folder. Note that when you set up the user you then should go to Administration &gt; User and click the three dots to edit the account. Change the Storage label to whatever you wan the folder to be called.<\/p>\n<p>Then either before or after you migrate their images. Make sure you repeat the Storage template steps above.<\/p>\n<h3>Sharing<\/h3>\n<p>Now, if you want, you can set it up so the other user can see all of you images in their own Immich instance. Account Settings &gt; Settings &gt; Partner Sharing. Add the other user and they can\u00a0 see pretty much everything by clicking on Sharing in the main sidebar.<\/p>\n<h2>External Access<\/h2>\n<p>I am still not sure if I will use this as something that is accessible external to my firewall. I did briefly set it up to one of my test domains when I was away and it worked just as advertised. i took a picture, opened the Immich app and voila it was\u00a0 available pretty much instantly on the web interface.<\/p>\n<p>But if I leave it inaccessible, the app stores all the thumbnails so I can&#8221;see the images wherever I am and when I am back in my own network I can upload the images then \u2014 which is pretty much how I did it with the old system. the only difference being if I want a high-res version of a photo when I am away from home I am screwed unless I VPN back in&#8230; and I rarely leave the VPN running unless I am away for extended periods.<\/p>\n<p>Hmmm&#8230;.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Well I think I an 90% sure this is the way I will go. Back in New Image Management? I mentioned I was testing Immich as possible replacement for Apple Photos and the iphone app. I tested it out and even used it at a family visit to Brooks and so far it has performed [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/macblaze.ca\/index.php?rest_route=\/wp\/v2\/posts\/16400"}],"collection":[{"href":"https:\/\/macblaze.ca\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/macblaze.ca\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/macblaze.ca\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/macblaze.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=16400"}],"version-history":[{"count":2,"href":"https:\/\/macblaze.ca\/index.php?rest_route=\/wp\/v2\/posts\/16400\/revisions"}],"predecessor-version":[{"id":16407,"href":"https:\/\/macblaze.ca\/index.php?rest_route=\/wp\/v2\/posts\/16400\/revisions\/16407"}],"wp:attachment":[{"href":"https:\/\/macblaze.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=16400"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/macblaze.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=16400"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/macblaze.ca\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=16400"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}