Post

[GUIDE] How to Set Up Immich from Scratch in 10 Minutes

[GUIDE] How to Set Up Immich from Scratch in 10 Minutes

Setting up Immich is quite straightforward and quick, which is a pleasant surprise. There’s no need to be concerned about the setup time or the process, as it only takes a few minutes.

Hardware Setup

I used my proxmox cluster with R730XD to run Immich. The R730XD features SSD disks in ZFS, which is okay for Immich, and I have a 16TB ZFS HDD Pool for additional storage.

Don’t worry about external HDD performance—loading thumbnails is almost instantaneous from SSD, even when you scroll at lightning speed. Thumbnails display immediately, making it more than 10 times faster than Google Photos.

Disk Setup

I’ve installed Immich on the SSD system disk, where it manages the thumbnail database. Meanwhile, my entire photo library is stored on a 16TB HDD Pool. This setup ensures that photo loading is instantaneous, with no noticeable slowdown even though the photos are stored externally.

Installation Steps

Follow these steps to quickly install Immich and import 200GB of photos from Google Photos in just a few minutes. Note that I’m using Ubuntu 24.04 VM for this setup.

  1. Switch to Root and Navigate to the Root Directory:
    1
    2
    
     sudo su
     cd
    
  2. Install Docker:
    1
    
     curl -s https://get.docker.com | bash
    
  3. Create the Immich Directory and Navigate to It:
    1
    2
    
     mkdir immich
     cd immich
    
  4. Download the Docker Compose File:
    1
    
     wget https://raw.githubusercontent.com/immich-app/immich/main/docker/docker-compose.yml
    
  5. Download the Pre-Configuration File:
    1
    
     wget https://raw.githubusercontent.com/immich-app/immich/main/docker/example.env
    
  6. Edit the example.env File:
    1
    
     nano example.env
    

    Change the UPLOAD_LOCATION line to:

     UPLOAD_LOCATION=/root/immich/data/
    
  7. Save and Exit Nano, Then Rename example.env to .env:
    1
    
     mv example.env .env
    
  8. Create the Data Directory:
    1
    
     mkdir data
    
  9. Run Docker Compose to Start Immich:
    1
    
     docker compose up -d
    
  10. Access Immich on Your Web Browser:
    • Navigate to http://your-immich-ip:2283

External HDD Setup (Optional)

If you have an external HDD, you can symlink it as follows:

  • Replace step 7 above with:
    1
    
      ln -s /path/to/external/hdd /root/immich/data
    

How to Import Google Photos

  1. Export Your Photos Using Google Takeout:
    • Log in to your Google account.
    • Export your photos in a zip file with each file being up to 50GB.
  2. Download the Zip Files:
    • Google will email you the export files, typically within a day.
  3. Download and Extract immich-go:
    1
    2
    
     wget https://github.com/simulot/immich-go/releases/download/0.13.2/immich-go_Linux_x86_64.tar.gz
     tar -xvzf immich-go_Linux_x86_64.tar.gz
    
  4. Run the immich-go Command:
    • First, retrieve your API key from the Immich settings page.
    • Then run:
      1
      
       ./immich-go -server=http://your-immich-ip:2283 -key=your-api-key upload -create-albums -google-photos takeout-*.zip
      

    Replace your-api-key with the key you obtained, and takeout-* with the names of your Google Takeout files.

How to Import Google Photos Using immich-go on Windows 11

If you’re using Windows 11, follow these steps to import your Google Photos to Immich:

  1. Export Your Photos Using Google Takeout:
    • Log in to your Google account.
    • Export your photos in a zip file with each file being up to 50GB.
  2. Download the Zip Files:
    • Google will email you the export files, typically within a day.
  3. Download and Extract immich-go:
    • Download immich-go for Windows from the GitHub repository.
    • Extract the contents of the zip file.
  4. Open Command Prompt:
    • Press Win + R, type cmd, and press Enter.
  5. Navigate to the Extracted immich-go Directory:
    1
    
     cd path\to\extracted\immich-go
    
  6. Run the immich-go Command:
    • First, retrieve your API key from the Immich settings page.
    • Then run:
      1
      
       immich-go.exe -server=http://your-immich-ip:2283 -key=your-api-key upload -create-albums -google-photos takeout-*.zip
      

    Replace your-api-key with the key you obtained, and takeout-* with the names of your Google Takeout files.

This process will upload your Google Photos directly to your Immich server, organizing them into albums if desired.


I hope this guide is helpful. If you have any questions or encounter any errors, feel free to reach out, and I’ll be glad to assist you.

This post is licensed under CC BY 4.0 by the author.