Immich is a self-hosted photos and videos management solution, allowing you to easily back up, organize and manage your photos and videos to your own server. If you have been using Google Photos, then Immich serves as a great alternative, without you having to worry about the big G harvesting your data.
Features
- Auto-upload photos and videos from your mobile device to the server automatically.
- Auto backup when the app is opened
- Command line interface (CLI) to upload photos and videos from the command line
- Prevent duplication of assets
- Selective album(s) for backup
- Download photos and videos to local device
- Multi-user support
- Album and Shared albums
- Support raw formats
- Metadata view (EXIF, map)
- Search by metadata, objects, faces, and CLIP
- Background backup
- Virtual scroll
- OAuth support
- API Keys
- LivePhoto/MotionPhoto backup and playback
- Support 360 degree image display
- User-defined storage structure
- Public Sharing
- Archive and Favorites
- Global Map
- Partner Sharing
- Facial recognition and clustering
- Memories (x years ago)
- Offline support
- Read-only gallery
- Stacked Photos
- Tags
- Folder View
Note: Immich is open-source and free to use, but it comes with a “Buy” button for you to pay to support the development. There are no additional premium features for the paid users though.
Installation
Immich works well on a homelab with Linux OS and Docker. It is recommended to have a minimum of 2 cores CPU, 4GB of RAM, and a storage with Unix-compatible filesystem (EXT4, ZFS, APFS, etc.) and support for user/group ownership and permissions.
First, create a folder for immich:
mkdir immich
cd immich
Download the docker-compose.yml and .env file.
wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env
Open the .env file:
nano .env
This is what you will see:
# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables
# The location where your uploaded files are stored
UPLOAD_LOCATION=./library
# The location where your database files are stored
DB_DATA_LOCATION=./postgres
# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
# TZ=Etc/UTC
# The Immich version to use. You can pin this to a specific version like "v1.71.0"
IMMICH_VERSION=release
# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD=postgres
# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
The variable that needs to be changed here is the DB_PASSWORD
. You should change it to a random and strong alphanumeric password. Change the UPLOAD_LOCATION
to your preferred location for storing backup assets. It should be a new directory on the server with enough free space.
If you want to set a custom timezone, uncomment the TZ=
line and add your timezone.
Save and close the .env file. Run the docker command to start the container:
docker compose up -d
On your browser, go to http://your-server-ip-address:2283 to access Immich
Usage
On the first run, you will see the “Get Started” button. Click it to get started.

Enter your details to set up the administrator account.

Once that is done, you will be able to log in with the new admin credential.
Follow the onboarding process to set up the site. You will be able to choose light/dark theme, enable Map, version check and enable storage template engine.

Finally, you will arrive at the Dashboard. The usage is very simple. On a desktop, you just have to click the Upload button to start uploading your photos and videos to the server.
At the same time, you can add the image to a new (or existing) album. You can also create new albums to organize your existing photos/videos.

And just like Google Photos, you can share your album with other people in your network.
You can also pin your photos/videos as Favorite so you can easily access them later.
I really like the “Review Duplicate” feature in the Utility section. There are plenty of times where I took multiple photos of the same scene. Immich is clever enough to detect those photos and display them alongside for you to review.

There are many other features like Maps that shows where you have been to over the past years, and also face detection feature for you to explore your pictures/videos by face.

Immich is also available as an Android/iOS mobile app that you can install and link to your server. This makes it easy to manage the photos/videos from your phone.

And you can select “Automatic Backup” so it will automatically back up all the photos/videos to your server.

Final Thoughts
Immich is really a great photos management app. If you have been using Google Photos, you will have no issue getting used to Immich, since it was designed as a Google Photos alternative. It is easy to use and have enough features to keep me from moving back to Google Photos. Not to mention that you get to store your own photos/videos in your own server, without having to worry about storage restrictions or data privacy.
Be the first to comment! Get the discussion going.