How I ditched Google Photos for my own private self-hosted alternative - for free
If you're ready to cut the cord with Google, this option lets you host and sync your photos on your own terms. Here's how.

Jack Wallen / Elyse Betters Picaro / ZDNET
Follow ZDNET: Add us as a preferred source on Google.
ZDNET's key takeaways
- Immich is a Google Photos sync service you can install at home.
- Immich does require the use of Docker.
- You can install and use Immich for free.
Over the past few years, I've made it my goal to break away from my Google dependency. It's been a slow and steady slog, but I'm finding there are plenty of alternatives available... it's just a matter of installing them and making them work.
Also: My 6 must-have Linux apps for productivity, and why they make work easier
I've tried several options for Google Photos (such as Nextcloud, which actually worked pretty well), but recently came across an app called Immich. It's a self-hosted video and app management tool that makes it possible to back up, organize, and manage your photos on your own server. With Immich, you can browse, search, and organize photos and videos without worrying about privacy.
Although installing Immich isn't exactly a point-and-click affair, if you believe you can copy and paste a few commands, you should be good to go.
What you need to get started
To install Immich, you're going to need a desktop or server on your LAN that supports Docker (which means Linux, MacOS, or Windows). For the Linux installation, you'll need a user with sudo privileges. Of course, you'll need an internet connection and a bit of time (this would be a great weekend project).
Also: 7 things I never do after I install Linux (and why you shouldn't either)
I'm going to demonstrate on Ubuntu Server. The good news is that if you're running on MacOS or Windows, it's just a matter of installing the Docker Desktop GUI, which is a point-and-click affair. If you can install a piece of software on either of those platforms, you can install Docker. With all of that out of the way, let's get started.
How to install Docker on Ubuntu
Let's get Docker installed first. Open your terminal app (or SSH into your server), and prepare to run some commands.
The first step is to install the necessary dependencies with the commands:
Show more
sudo apt-get update
sudo apt-get install ca-certificates curl
The next thing you must do is add the official Docker GPG key. To do that, use the following commands:
Show more
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
You can now add the Docker repository, which is done with the following command:
Show more
You'll have to type out this full command.
Jack Wallen/ZDNET
Once that's taken care of, update apt with:
It's now time to finally install Docker, which is taken care of with the command:
Show more
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin git -y
In order to run Docker containers without sudo (which is a must; otherwise, you risk security issues), it's important to add your user to the Docker group. Do this with the command:
Show more
sudo usermod -aG docker $USER
Log out and log back in so the changes take effect.
How to install Immich
We can now install Immich.
1. Create two new directories
Back at your terminal window, create a new directory and change into it with the command:
mkdir ~/immich-app && mkdir ~/immich-library && cd ~/immich-app
2. Download the necessary setup files
You can download the setup files required for installation with the commands:
curl -o docker-compose.yml https://raw.githubusercontent.com/immich-app/immich/main/docker/docker-compose.yml
curl -o .env https://raw.githubusercontent.com/immich-app/immich/main/docker/example.env
3. Open and edit the .env file
The .env file is used to set environment variables. We're going to open it and make a slight change. Open the file with the command:
nano .env
Once the file is open, look for the line:
UPLOAD_LOCATION=./library
Change it to:
UPLOAD_LOCATION=/home/USERNAME/immich-library
Where USERNAME is your user name.
Save and close the file with the Ctrl+x keyboard shortcut.
4. Deploy Immich
It's time to use Docker to deploy the Immich app. Do this with the command:
docker compose up -d
This will take some time to complete, so step back and let Docker do its thing.
5. Access Immich
When the command completes, give it a few more minutes for the container to finish deploying.
After a couple of minutes, open a web browser and point it to http://SERVER:2283 (where SERVER is the IP address of the server hosting Immich). You'll be greeted with a Getting Started window. Click Getting Started, and you'll be prompted to create a new admin account. Type an email, password (and verify it), and a name. Once you've done that, click Signup.
Sign up for your local Immich account here.
Jack Wallen/ZDNET
You'll then be prompted to sign in with your new credentials. Walk through the setup wizard, and you'll be prompted to download the mobile app, so you can begin syncing and managing your photos/videos on your personal service.
Note: when you point the app to the Immich server, make sure the address is in the form http://SERVER:2283 (where SERVER is the IP address of the Immich server).
Also: How to turn off Gemini in your Gmail, Photos, Chrome, and more - it's easy to opt out of AI
Congratulations, you've just deployed your Google Photos alternative.