{"id":16375,"date":"2025-12-15T09:15:49","date_gmt":"2025-12-15T16:15:49","guid":{"rendered":"https:\/\/macblaze.ca\/?p=16375"},"modified":"2026-01-04T11:08:22","modified_gmt":"2026-01-04T18:08:22","slug":"new-image-management","status":"publish","type":"post","link":"https:\/\/macblaze.ca\/?p=16375","title":{"rendered":"New Image Management?"},"content":{"rendered":"<p>I&#8217;ve decided to give an alternative to Apple Photos a try. Photos has been increasingly\u00a0 frustrating in its organization on the iphone and its pretty darn slow on my desktop if I try and offload the data base to an external drive.<\/p>\n<h2>Immich<\/h2>\n<p>An open source, self hosted photo solution, <a href=\"https:\/\/immich.app\/\">Immich<\/a> is also free. And it has an iPhone app that will sync with you camera roll to automatically backup photos from the camera.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/macblaze.ca\/wp-content\/uploads\/2025\/12\/immich-demo-scaled.jpg\"><img loading=\"lazy\" class=\"aligncenter size-large wp-image-16376\" src=\"https:\/\/macblaze.ca\/wp-content\/uploads\/2025\/12\/immich-demo-1024x775.jpg\" alt=\"A screen shot of the Immich app showing thumbnails of photos.\" width=\"1024\" height=\"775\" srcset=\"https:\/\/macblaze.ca\/wp-content\/uploads\/2025\/12\/immich-demo-1024x775.jpg 1024w, https:\/\/macblaze.ca\/wp-content\/uploads\/2025\/12\/immich-demo-400x303.jpg 400w, https:\/\/macblaze.ca\/wp-content\/uploads\/2025\/12\/immich-demo-150x114.jpg 150w, https:\/\/macblaze.ca\/wp-content\/uploads\/2025\/12\/immich-demo-768x581.jpg 768w, https:\/\/macblaze.ca\/wp-content\/uploads\/2025\/12\/immich-demo-1536x1163.jpg 1536w, https:\/\/macblaze.ca\/wp-content\/uploads\/2025\/12\/immich-demo-2048x1551.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p>I will flush out the documentation but basically I followed <a href=\"https:\/\/baty.net\/posts\/2025\/12\/from-apple-photos-to-immich\/\" target=\"_blank\" rel=\"noopener\">baty.net\/posts\/2025\/12\/from-apple-photos-to-immich\/\u00a0<\/a><\/p>\n<p>Immich is a Docker container but My Pi&#8217;s aren&#8217;t robust enough (I think) so I installed it on my Intel Mac Mini (2019) which is doing duty as my Calibre server and Jellyfin server. This means I have to use the clucnky Docker Desktop for Mac but c&#8217;est la vie. It install via docker -compose file <a href=\"https:\/\/docs.immich.app\/install\/docker-compose\" target=\"_blank\" rel=\"noopener\">docs.immich.app\/install\/docker-compose<\/a>. The wget didn&#8217;t work so I just downloaded the file from Github. I had to use terminal to rename the .env file. Then I fired up the container by running the compose file and that was pretty much it.<\/p>\n<p>Visit the app by going to 192.168.1.x:2283, create an account and add a password.<\/p>\n<h3>Preliminary testing<\/h3>\n<p><code>cd<\/code> into your directory and <code>docker compose up -d<\/code><\/p>\n<p>I played around with and the iPhone app and decided it was going to work and proceeded to move my main library of 30,000+ images. What I did was copy the photos library (Photos Library.photoslibrary) over to the mac mini (150gig, 1+ hours) then use an utility to export it. In retrospect that was silly since I exported it to an external SSD for temporary storage anyway. What I should have done was\u00a0 run the utility direct from the original library to the ssd and save me a lot of time.<\/p>\n<h3>osxphotos<\/h3>\n<p>To install:<\/p>\n<p><code>brew tap Rhetbull\/osxphotos<\/code><\/p>\n<p><code>brew install osxphotos<\/code><\/p>\n<p>It&#8217;s a pretty fancy little utility but I went with the basics:<\/p>\n<p><code>osxphotos export \/Volumes\/External_SSD\/DestinationFolder \\<\/code><br \/>\n<code>--skip-original-if-edited \\<\/code><br \/>\n<code>--sidecar XMP \\<\/code><br \/>\n<code>--touch-file \\<\/code><br \/>\n<code>--directory \"{folder_album}\" \\<\/code><br \/>\n<code>--download-missing \\<\/code><br \/>\n<code>--library '\/Users\/admin\/Desktop\/photo library\/Photos Library.photoslibrary'<\/code><\/p>\n<p><strong>Note<\/strong> this if you want to import a library other than the defualt Photos library. Otherwise you can just eliminate the last line.<\/p>\n<p>It didn&#8217;t take too long and it had exported all my images in a fancy folder structure on the ssd.<\/p>\n<h3>immich cli<\/h3>\n<p>Then I had to install the command line interface for immich. I discovered it was on brew which was easier than the suggested npm.<\/p>\n<p><code>brew install immich-cli<\/code><\/p>\n<p>Then you need to go to the immich web interface (192.168.1.x:2283) and add an api key. Account Settings &gt; Api Key.\u00a0 Then add the key tot eh following and log in.<\/p>\n<p><code>immich login http:\/\/192.168.1.x:2283\/api APIKEYxxxXXXxxxXXXXxxXXXXXx<\/code><\/p>\n<p>Once you are logged in, let \u2019er rip.<\/p>\n<p><code>immich upload --recursive \/Volumes\/External_SSD\/DestinationFolder --album<\/code><\/p>\n<p>Less than an hour later the images were imported. It took a couple of hours for the thumbnails to appear and overnight for things like geo-location and face recognition to\u00a0 finishing running.<\/p>\n<h2>Conclusion<\/h2>\n<p>So far it is pretty slick. I can\u00a0 take a picture on my phone and\u00a0 it is set to upload the image as soon as I open the app (if I am at home). The response is snappy, the AI assisted search is wonderful (for finding images with two cats, or bread, or pizza etc.)<\/p>\n<p><a href=\"https:\/\/macblaze.ca\/wp-content\/uploads\/2025\/12\/pizza-scaled.jpg\"><img loading=\"lazy\" class=\"aligncenter size-medium wp-image-16377\" src=\"https:\/\/macblaze.ca\/wp-content\/uploads\/2025\/12\/pizza-400x300.jpg\" alt=\"A grid of many different home-baked pizzas\" width=\"400\" height=\"300\" srcset=\"https:\/\/macblaze.ca\/wp-content\/uploads\/2025\/12\/pizza-400x300.jpg 400w, https:\/\/macblaze.ca\/wp-content\/uploads\/2025\/12\/pizza-1024x768.jpg 1024w, https:\/\/macblaze.ca\/wp-content\/uploads\/2025\/12\/pizza-150x113.jpg 150w, https:\/\/macblaze.ca\/wp-content\/uploads\/2025\/12\/pizza-768x576.jpg 768w, https:\/\/macblaze.ca\/wp-content\/uploads\/2025\/12\/pizza-1536x1152.jpg 1536w, https:\/\/macblaze.ca\/wp-content\/uploads\/2025\/12\/pizza-2048x1536.jpg 2048w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>If I keep it I will likely set up a domain and a ssl cert so I can access the images from outside my firewall. But for now the big downside is that if I want to do anything but look at an image on my iPhone from outside my personal network I am out of luck\u2014the app only stores thumbnails. And maybe a <a href=\"https:\/\/macblaze.ca\/?p=16400\">followup review<\/a> where I can add a bit more detail&#8230;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve decided to give an alternative to Apple Photos a try. Photos has been increasingly\u00a0 frustrating in its organization on the iphone and its pretty darn slow on my desktop if I try and offload the data base to an external drive. Immich An open source, self hosted photo solution, Immich is also free. And [&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\/16375"}],"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=16375"}],"version-history":[{"count":4,"href":"https:\/\/macblaze.ca\/index.php?rest_route=\/wp\/v2\/posts\/16375\/revisions"}],"predecessor-version":[{"id":16406,"href":"https:\/\/macblaze.ca\/index.php?rest_route=\/wp\/v2\/posts\/16375\/revisions\/16406"}],"wp:attachment":[{"href":"https:\/\/macblaze.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=16375"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/macblaze.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=16375"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/macblaze.ca\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=16375"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}