<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Immich on Linux Colorado</title><link>https://www.linuxcolorado.com/tags/immich/</link><description>Recent content in Immich on Linux Colorado</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Mon, 17 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.linuxcolorado.com/tags/immich/index.xml" rel="self" type="application/rss+xml"/><item><title>Teaching an AI to Develop My RAW Photos: A Self-Hosted Linux Pipeline</title><link>https://www.linuxcolorado.com/post/2026-08-18-ai-raw-photo-pipeline/</link><pubDate>Mon, 17 Aug 2026 00:00:00 +0000</pubDate><guid>https://www.linuxcolorado.com/post/2026-08-18-ai-raw-photo-pipeline/</guid><description>&lt;p&gt;I wanted to answer a specific question: could an AI agent do the &lt;em&gt;boring, careful&lt;/em&gt; parts of my photography workflow — the parts I actually skip because they take too long?&lt;/p&gt;
&lt;p&gt;Not &amp;ldquo;make my photos look good&amp;rdquo; in the Instagram-filter sense. I mean the tedious, correct-but-thankless work: pulling the right RAW off my server, applying the exact lens-correction data for the exact lens I used, denoising only the frames that need it, keeping the EXIF intact, filing everything under the right date, and getting a print onto photo paper without fighting a driver. The stuff a careful darkroom tech would do and a busy human never quite gets around to.&lt;/p&gt;
&lt;p&gt;So I built it. A local, self-hosted pipeline where &lt;strong&gt;Claude Code&lt;/strong&gt; can reach into my &lt;a href="https://immich.app"&gt;Immich&lt;/a&gt; library, pull original Canon CR3 RAW files, develop them in &lt;strong&gt;darktable&lt;/strong&gt; with camera- and lens-specific corrections, retouch in &lt;strong&gt;GIMP&lt;/strong&gt;, print on a networked Canon photo printer, and push finished JPEGs back into Immich as new assets — all driven through the &lt;strong&gt;Model Context Protocol (MCP)&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;figure class="post-figure" style="margin:1.5rem 0;text-align:center"&gt;
 &lt;img src="https://www.linuxcolorado.com/diagrams/raw-photo-pipeline.svg" alt="Diagram: Claude Code orchestrates over MCP — pull a CR3 RAW from Immich, develop in darktable with lensfun correction, retouch in GIMP, print on a networked Canon printer, and import the finished JPEG back into Immich" loading="lazy" title="Claude Code drives each tool over MCP; the RAW never leaves the LAN."
 style="max-width:100%;height:auto;display:block;margin:0 auto;border-radius:6px"&gt;
 &lt;figcaption style="font-size:.82rem;color:#667;margin-top:.5rem;font-style:italic"&gt;Claude Code drives each tool over MCP; the RAW never leaves the LAN.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item><item><title>Two Ways My Self-Hosted Immich Broke — and Neither Was Corrupt Data</title><link>https://www.linuxcolorado.com/post/2026-08-18-immich-flaky-mount-and-boot-loop/</link><pubDate>Thu, 13 Aug 2026 00:00:00 +0000</pubDate><guid>https://www.linuxcolorado.com/post/2026-08-18-immich-flaky-mount-and-boot-loop/</guid><description>&lt;p&gt;I self-host &lt;a href="https://immich.app"&gt;Immich&lt;/a&gt; for my photo library, and it has broken on me in two completely different ways — both instructive, and both sharing a reassuring punchline: &lt;strong&gt;the photos were always fine.&lt;/strong&gt; The failures were in the plumbing around them, not the data.&lt;/p&gt;
&lt;p&gt;The first was a storage problem wearing a data-corruption costume: thousands of &amp;ldquo;unsupported image format&amp;rdquo; and &amp;ldquo;input file is missing&amp;rdquo; errors for files that were perfectly healthy. The second was a self-inflicted supply-chain problem: an overnight auto-update yanked the database extension out from under the server and put it in a boot loop. This post is both stories, because together they&amp;rsquo;re a decent field guide to operating Immich in a homelab.&lt;/p&gt;</description></item></channel></rss>