Skip to content

License: CC BY 4.0 Immich Unraid PostgreSQL VectorChord Valkey

Unraid Immich "Performance" Setup + Google Takeout Guide

TL;DR:

Immich Setup

We use a share living on the Cache (SSD/NVMe) for encoded-video, profile and thumbs - and a HDD share living on the Array for backups, library and upload. This setup allows us to leverage the speed of the Cache for frequently accessed data while utilizing the Array for long-term storage of original media files. Plus we use a custom network for better performance and security, avoiding an overhead of the default bridge network.

Google Takeout Guide

Also for the migration from Google Photos to Immich, we use Google Takeout to export our photos and videos, and then utilize a Firefox Docker container on Unraid to download the exported files directly to our Unraid server, avoiding the need to download them to a local machine first. We'll be using PhotoMigrator to automate the process of importing photos from our Google Takeout export into Immich. PhotoMigrator takes care of handling metadata and organizing the photos in the correct structure for Immich.

Note

If you're unsure about using Immich, you can try it out for free on PixelUnion (non-sponsored).

Just a friendly recommendation to test Immich without setting it up yourself first. You can create a free account with 16GB included storage and upload a few photos to see how the interface works and if it meets your needs before going through the setup process on Unraid.


Intended Use

Important

READ THROUGH BEFORE STARTING YOUR SETUP.

In Scope:

This guide is intended for NEW setups of Immich on Unraid.

Out of Scope:

Upgrading existing Immich setups as it requires significant changes to the existing setup and data migration. If you have an existing Immich setup on Unraid and want to optimize it for better performance, I would recommend backing up your data, setting up a new instance of Immich following this guide and then migrating your data from the old instance to the new one.

If you REALLY want to upgrade: Consult the Immich documentation and community for best practices on how to do this migration to ensure that you don't lose any data in the process. Happy learning!

What's inside this guide?

This guide covers an optimal Unraid-native setup of Immich (no Docker Compose) with performance optimization and optional Google Takeout migration.

Important

This guide is intended for users who want to run a NEW instance of Immich on Unraid and are looking for best practices to achieve optimal performance.


Guide Overview

Getting Started

Topic Description
Hardware & Prerequisites Minimum specs, pre-requisites checklist, storage planning
Phase 1: Request Google Takeout Export Start your Google Photos export early (takes hours)

Installation

Step Description
1 Create Unraid Shares immich (HDD array) + immich-gen (SSD cache) shares
Phase 2: Download Takeout via Firefox Download exports directly to Unraid via Firefox container
2 Create Docker Network immich_internal network for container communication
3 Choose GPU Platform Select templates for your GPU (NVIDIA/Intel/AMD/CPU)
4 Download Docker Templates Download all Unraid container templates
5 PostgreSQL Setup Database with VectorChord for vector search
6 Valkey Setup Redis-compatible cache/message broker
7 Machine Learning Setup Face recognition, CLIP search, OCR
8 Immich Server Setup Main application — web UI, API, workers
9 Container Start Order FolderView3 for correct startup sequence
10 Setup, Verify & Configure Admin settings, image/video config, mobile apps, GPU verification

Google Takeout Migration

Topic Description
Phase 2.5: Extract tar Archives Only if you chose tar format
Phase 3: Import with PhotoMigrator Automated import with metadata handling

After Setup

Topic Description
Immich Power Tools Advanced library management (bulk ops, analytics)
Cleanup After Migration Remove temporary files, API keys, Firefox container
FAQ Common questions answered