← Writing

Google Photos? Immich!

Deploying a self-hosted Google Photos alternative, then tiering storage across a fast SSD and a slow HDD.

1 min read Juan Montano


Buckle up because this one is fun. Today I deployed Immich, which is basically an open-source Google Photos clone for your home server. It gives you the same experience without Google spying on your data.

The initial install is easy—you just run it via Docker and it works “automagically.” But the real fun was tweaking the efficiency.

My server setup is a bit of a mix: a 512GB SSD (fast) and a 1TB HDD (slow). I kept the Immich installation on the SSD so the interface loads quickly, but I wanted the actual images stored on the HDD since it has more capacity. The problem is that my connection to the server is fast enough that the HDD becomes a bottleneck. The upload crawls because the hardware can’t keep up with the network speed.

To fix this, I got a bit crafty with the logic. I set the SSD as the primary landing zone for all new uploads. This makes the initial transfer lightning fast. Then, I have the server work in the background to slowly move those files from the SSD over to the HDD for long-term storage.

Now I get the best of both worlds: fast uploads and high-capacity storage. Smart, huh?