Self Hosted Alternatives to Google Photos
Immich is the closest drop-in replacement for Google Photos and the one most people should try first.
Ente Photos suits you if you want end-to-end encryption and will let your phone do the indexing, while PhotoPrism fits an archive you already organise in folders.
Budget roughly one and a half times your Google Takeout size, and keep a second copy elsewhere.
The self hosted alternatives to Google Photos that most people end up choosing are Immich, Ente Photos and PhotoPrism. All three are open source, all three run on a computer you control, and all three will hold a family library of tens of thousands of pictures. They are not the same tool, though. Immich sets out to be a near drop-in replacement for the Google app, phone backup and all. Ente is built around end-to-end encryption. PhotoPrism is happiest sitting on top of a folder tree you already keep.
This page is about photos specifically: how much disk you need, how to get your library out with Google Takeout without scrambling every date, how background backup behaves on iOS compared to Android, and what happens to face recognition once Google is not doing it. For mail and documents, see the companion guide on self hosted alternatives to Google.
What you are actually replacing
Google Photos quietly does four jobs, and it is easy to notice only three of them until they stop. It backs up every picture your phone takes without you thinking about it. It gives you a timeline that scrolls instantly, even on a bad connection. It searches by face, place and the objects in the frame. And it makes a link you can send to your mother.
Any replacement has to cover all four, or the phone quietly stops backing up in week three and you drift back. That is the usual failure mode of a self-hosted photo setup, and it is not really technical. It is an attention failure, so pick the tool whose phone app you will actually leave installed.
The good news is that photos are among the easier things to take back, because underneath the interface they are just files with dates attached. Mail and documents are stickier. The step-by-step de-Google guide puts photos in sensible order relative to everything else.
Immich: the closest thing to a drop-in replacement
Immich is the project most people mean when they say they replaced Google Photos. It runs as a set of Docker containers: the server, a Postgres database with a vector extension for search, Redis, and a machine-learning container that handles faces and image understanding. A compose file and an environment file bring it up on a port you can put behind a reverse proxy such as Caddy.
What makes it feel familiar is the mobile app. First-party apps for iOS and Android upload in the background, so new photos land on your server without you opening anything. You get the scrolling timeline, albums, shared albums, a map, on-this-day memories, and multi-user accounts so a household can share one server without sharing one library. An external library mode indexes an existing folder read-only, never moving or rewriting the files.
The honest caveat is pace. Immich ships releases very quickly, and upgrades have historically included changes that need manual steps. Read the release notes before pulling a new image, pin a version rather than tracking latest, and back up both the files and the database.
Ente Photos: end-to-end encrypted, self-hosting optional
Ente Photos starts from a different question. Instead of asking who owns the server, it asks what the server can read. Everything is encrypted on your device before upload, so the machine holding your library holds ciphertext and nothing else. There are apps for iOS, Android, desktop and the web. Ente sells hosting, which is how the project pays for itself, and also publishes the server so you can run it yourself.
Encryption has a cost and it lands on your phone. Because the server cannot see your pictures, it cannot index them, so face detection and search run on the device. The first pass over a large library takes a while and generally wants the app open and the phone charging.
Choose Ente if your threat model includes the machine itself, or whoever has physical access to it. If your server lives in a rented box in a data centre, a key only you hold is the difference between hosting your photos and merely relocating them. That is the heart of data sovereignty.
PhotoPrism: for people who care about the folder tree
PhotoPrism is written in Go, uses TensorFlow for tagging, and is designed to be pointed at a directory that already exists. Its read-only mode builds the index, thumbnails and database alongside your archive rather than inside it, so removing PhotoPrism tomorrow leaves your folders untouched. That suits scanned negatives, years of camera output filed by date, or a shared drive several people already understand.
Its weak point is the phone. There is no first-party background backup app the way Immich has one. The usual arrangement is WebDAV, with a third-party sync app pushing new pictures into a folder PhotoPrism watches. It works, but it is a couple of moving parts rather than one, and it is the part most likely to stop without telling you.
PhotoPrism has a free community edition and a paid membership that unlocks extra features and funds development. Check the current feature split on the project site, since it has changed over time.
Faces, search and how the three compare
Search is the feature people underestimate until it is gone. Typing beach 2019 and getting the right forty pictures is most of what makes a library usable, and all three do a version of it locally. Immich detects faces, clusters them into people you name, and adds semantic search on an image-understanding model, so red bicycle finds red bicycles nobody ever tagged. PhotoPrism clusters faces and labels objects with its own models. Ente does both on your device because it has no other option.
Accuracy is decent rather than magical. Expect to merge duplicate people and to re-run detection after a big import. Face processing also takes real time on a modest server: tens of thousands of images can take hours, and a machine without a GPU considerably longer.
| Tool | Best for | Phone backup | Encryption at rest |
|---|---|---|---|
| Immich | Straight replacement for the Google app | First-party iOS and Android apps | Whatever the disk provides |
| Ente | Privacy where the server is untrusted | First-party apps, encrypted before upload | End-to-end, keys on your device |
| PhotoPrism | An existing folder-based archive | WebDAV plus a sync app | Whatever the disk provides |
Storage maths and the machine to run it on
Do not guess at storage. Takeout reports the total size of your export before you download it, and that is the only number worth planning from. A phone photo is usually a few megabytes, a minute of 4K video usually a few hundred, so two people with the same photo count can differ tenfold.
- Originals: the size Takeout reports.
- Working overhead: add roughly half again for thumbnails, previews, database and index.
- Backup: one more full copy on different hardware, ideally in another building.
- Headroom: a year or two of new photos at the rate you shoot now.
A second-hand small desktop or a mini PC with a few gigabytes of RAM handles a household library comfortably, and more RAM helps the machine-learning features keep pace. A Raspberry Pi will run all three, but face detection and video transcoding on one are slow enough to be irritating during the first import. And a RAID array is not a backup: it survives a dead disk, not a deleted folder, a bad upgrade or a house fire.
Getting your library out with Google Takeout
Takeout is the official export, and one trap catches almost everybody. It does not write dates, locations and album membership into the image files. It writes them into small JSON files beside each picture. Copy only the photos across and thousands of images will claim to have been taken on the day you imported them.
- In Takeout, select Google Photos only, and pick an archive chunk size you can handle.
- Download every part and leave the archives zipped. Do not unpack or rename anything first.
- Import with a tool that reads the sidecars:
immich-goloads Takeout archives into Immich and recreates albums, Ente has a Takeout import in its desktop app, and for PhotoPrism rungoogle-photos-takeout-helperfirst. - Spot-check before you trust it. Sort by oldest, then newest, open a few albums, and confirm a photo whose date you know.
Motion photos and Live Photos come out of Takeout in ways that vary, and the still and the clip can end up separated. Keep the archives until the new library has run for a few months. Deleting from Google is the last step, not the first.
Phone backup: the part that has to be boring
The whole thing lives or dies on whether new photos arrive without anyone doing anything. Immich and Ente both ship apps that upload in the background, and on Android that works as you would expect, provided you exempt the app from battery optimisation. Otherwise the system decides it knows better and stops waking it.
On iOS it is less predictable. Apple limits what background apps may do, so uploads happen in bursts when the system grants time, or when you open the app. Plugged in on Wi-Fi overnight is when most of it happens. It catches up reliably; it is just not instant.
The other half is reachability. The safest arrangement is a private overlay such as Tailscale or plain WireGuard, so nothing is exposed to the open internet. The alternative is a reverse proxy with a real certificate on your own domain, easier to share with family and now your job to patch. Either way, set a monthly reminder to check the upload count; silent failure is the enemy. The primer on how mesh networks work covers reaching services without the wider internet.
What self-hosted photos are genuinely bad at
You become the backup. Google Photos quietly ensures your pictures survive your house burning down; a server in a cupboard does not. Without a copy somewhere else, self-hosting is a downgrade in durability, and privacy does not make up for a lost decade of photographs.
Sharing with people who are not technical gets harder. All three produce public links, and that works fine until the link expires, the certificate lapses, or your connection is down while your sister is looking at christening photos.
It is not free, it is shifted. You trade a monthly fee for hardware, electricity and your own hours. For a very large library that often works out over several years. For a small one it usually does not, and the honest reason is control rather than cost.
Upgrades are now your problem. Containers need pulling, databases need backing up before a major version, and a fast-moving project like Immich will occasionally ask you to do something by hand. If that sounds like a chore you will skip, pick the hosted encrypted option instead. More guides are in the learn index.
Frequently asked questions
Is Immich a safe replacement for Google Photos yet?
For most households, yes, with one condition: keep a separate backup of your originals and your database. Immich is stable enough for daily use and has first-party phone apps, but it releases very quickly and upgrades occasionally need manual steps. Pin a version rather than tracking latest, and read the release notes before pulling a new image.
How do I move my Google Photos library without losing the dates?
Takeout stores dates, locations and album membership in JSON files beside each photo rather than inside the images. Import with a tool that reads those sidecars, such as immich-go for Immich, the Ente desktop importer, or google-photos-takeout-helper before indexing with PhotoPrism. Copying only the image files leaves you with thousands of photos dated the day you imported them.
How much storage do I need to self-host my photos?
Start with the total size Google Takeout reports for your export, then plan for about one and a half times that on the server to cover thumbnails, video previews, the database and growth. Plan the same amount again for a backup on separate hardware. Video dominates the total, so libraries with similar photo counts can differ enormously.
Does self-hosted photo software do face recognition?
Yes, and it runs on hardware you own. Immich detects faces, groups them into people you name, and adds search by image content. PhotoPrism clusters faces and labels objects. Ente does both on your phone because its server only ever holds encrypted data. Expect to merge duplicate people occasionally and to wait through the first indexing pass.
Can I share a photo album with someone who has no account?
All three create public links you can send to anyone, usually with optional passwords and expiry dates. The catch is that the link points at your server, so it works only while your machine and your connection are up. If relatives view photos often, this is the part of self-hosting they will notice first when something breaks.
Will my phone back up photos automatically to my own server?
Immich and Ente both have apps that upload in the background. On Android this is reliable once you exempt the app from battery optimisation. On iOS the system decides when background work runs, so uploads arrive in batches, typically while charging on Wi-Fi. PhotoPrism has no first-party backup app and normally uses WebDAV with a third-party sync tool.