Immich: the ultimate alternative to Google Photos for self-hosting your private cloud of photos and videos

What is Immich?
  • Immich provides backup, search, and advanced photo organization under your control.
  • The integration of artificial intelligence enables facial recognition and semantic search.
  • Using Docker and native apps makes it easy to self-install on any modern server or NAS.

Controlling our personal photos and videos has become a central concern for privacy-conscious users and those who have used cloud services like Google Photos or iCloud. Immich emerges as the modern answer for those who want complete ownership of their visual memories, with advanced AI features, organization, and backups entirely under our control.

In this article, we'll delve deep into what Immich is, how it works, who it's for, its advantages over commercial alternatives and other open-source projects, the steps required to get it up and running, the hardware it needs, its customization options, and the lessons learned by advanced users who use it daily. All of this will be structured and supported by real-world experience, not only from a technical perspective but also from the viewpoint of the end user seeking efficiency, security, and, above all, digital peace of mind. Let's get started.

What is Immich and why does it matter?

Immich is an open-source platform dedicated to managing, organizing, and backing up photos and videos , primarily designed for those who want to self-host their photo cloud. Designed in the post-Google Photos era, it offers a similar (or better!) experience without relying on tech giants or compromising privacy . You can access the project, its documentation, the community, and download links from its official website .

The most important thing about Immich is that all your files remain on your infrastructure : they never leave your server, they aren't uploaded to third-party clouds, and no one can analyze them for advertising purposes or to feed artificial intelligence models without your permission. The open-source architecture gives you complete freedom to scale or modify it according to your needs, and its active development makes it a constantly evolving tool.

Main features of Immich

  • Automatic backup and synchronization from mobile devicesNative apps for Android and iOS that allow automatic uploading of photos and videos, just like Google Photos, but with private storage.
  • AI-assisted searchImmich relies on facial recognition models and semantic analysis so you can search for images using natural language concepts, without needing to tag them beforehand.
  • Modern and adaptive interfaceImmich's website mimics the usability and design of commercial platforms, with a timeline, automatic organization by dates and albums, a visual timeline, and grouping by people or places.
  • Multi-user supportYou can manage separate accounts (ideal for families or teams), each with its own default privacy settings, and share albums or selected photos.
  • Preservation and management of metadataAll EXIF ​​information (dates, cameras, GPS location, etc.) is preserved and can be used for searches and organization.
  • Facial recognition, object detection, and semantic searchImmich automatically groups all photos of the same person and responds to natural searches such as "beach parties", "red bicycle in the snow" or "dog by the sea".
  • Live Photos and Motion Photos support: Even replicating the features of native Apple and Google apps.
  • Easy import from Google Photos, iCloud, or local storageThanks to external tools and support for Google Takeout, you can migrate your library without losing historical data or metadata.
  • Organized into custom albums and filtered by mapsBrowse your visual memories from the map view, making it easy to find photos by location.
  • Folder management and storage templatesYou can decide whether Immich restructures your entire collection into its own folders based on date, user, etc., or connect external read-only libraries to index them without moving files.

Who should use Immich? Ideal use cases

Immich is designed for any user seeking privacy, control, and flexibility in managing their photo and video archives . It is especially useful in these scenarios:

  • Families or groups with multiple mobile phones They want each member to be able to automatically back up their camera roll and view the entire gallery grouped or individually.
  • Advanced users, photographers, and creators who take care of their archive, want to avoid the changing policies of commercial platforms, and want quick access to decades of memories without worrying about service closures, price increases, or data loss due to contractual changes.
  • Those who already have a large library on disk They want to keep the hosting local but with access from anywhere, maintaining complete control. Immich also supports parallel use with other solutions through external libraries.
  • Technology enthusiasts, developers, and sysadmins who want to learn about application dockerization, reverse proxies, advanced management with Docker Compose, and the security required for real self-hosting.

Comparison: Immich vs. Google Photos, PhotoPrism, and other alternatives

The most sought-after and direct alternative to Google Photos is Immich , and this isn't just due to its aesthetics. Its main strength lies in offering almost all the features expected of a commercial suite, even surpassing it in data control, multi-user management, and the depth of its automatic image analysis. Several experiences gathered in technical forums and blogs emphasize the following:

  • Google Photos/Apple iCloudReliable, highly integrated with mobile devices, but with limited storage, escalating prices, and complete dependence on their terms and privacy policies. Distrust grows when we consider their ability (and potential willingness) to analyze images to train commercial AI or fuel personalized ads.
  • PhotoPrismOpen source, also with AI, highly recommended for archiving decades of memories on disk. Its strength lies in the indexing of existing libraries and its visual map; however, It does not adequately cover direct and constant backups from mobile devices. It requires third-party apps (such as PhotoSync or PWA integration) for a decent mobile experience. Its advanced features (such as enhanced user roles or premium map layers) are available through paid subscriptions, although the basic version is open source.
  • LibrePhotos, Photoview, Nextcloud Photos, Piwigo, Chevereto, Damselfly, Lychee, Photonix, EnteThey all offer their own advantages, but they tend to fall short in mobile integration, automatic synchronization, or the user experience focused on immediacy and artificial intelligence, where Immich really shines.

The key difference between Immich and PhotoPrism lies in file management and the mobile experience . Immich excels where the goal is to "no longer rely on Google Photos" and upload the entire camera roll directly each day, while PhotoPrism wins in established archiving projects, where maintaining the folder structure and optimizing the app's size are preferred.

Step-by-step Immich installation: everything you need to know

Setting up Immich is a process designed for users with some server configuration experience, although the learning curve is well-documented and the community is incredibly helpful. If you've never worked with Docker, Proxmox, Unraid, ZimaOS, Synology, or any self-hosting solution, this could be your first great hands-on project to learn.

1. Choosing the environment and hardware requirements

Immich can be installed on any modern Linux server, whether physical or virtual, running Ubuntu, Debian, or similar distributions, and supports x86_64 and ARM64 architectures (making it perfect for Raspberry Pi or small home NAS devices). The recommended operating system for optimal performance is:

  • CPU: minimum 2 cores (4+ better for large collections and intensive ML analysis)
  • RAM: minimum 4 GB (8-16 GB recommended, especially if you enable machine learning)
  • Storage: The app requires little space (10 GB), most of it is taken up by your photos and videos; keep in mind an additional 10-20% for thumbnails, caches, and intermediate versions.
  • Net: 100 Mbps is sufficient for local access; if you plan on remote access, prioritize a good upload speed (or use VPN/Tailscale).
  • NVIDIA GPUs with CUDA support: Optional, but it can radically accelerate ML indexing and processing
  • SSD storage (for the database and software), and HDD/RAID if you have large libraries

2. Installing dependencies and getting started with Docker Compose

The most common and recommended method is using Docker Compose :

  1. Install Docker and Docker Compose on your server (also available on Unraid, ZimaOS and other environments with app stores or community templates).
  2. Create a folder for the configuration files and download the docker-compose.yml and the .env from the official branch of Immich.
  3. Edit the .env file to adapt the storage path (UPLOAD_LOCATION), the Postgres database data, time zone, software version, database username and password, and other parameters that you will find well documented.
  4. Run docker compose up -dImmich's containers will be deployed, along with the ML service, Redis, and vector PostgreSQL.
  5. Access the web interface through port 2283 of your server and create the administrator account; from there you can add users, configure libraries, review statistics and customize the experience.

In Unraid or ZimaOS this process is further simplified thanks to templates in their "app stores", but it is advisable to check if the image used is the official one or a third-party alternative; some advanced users prefer to create their own XML files for maximum control.

3. Integration with mobile devices

Download the official app for Android or iOS from their respective stores (or from F-Droid if you're looking for 100% open source)

  • Configure your server URL and credentials in the app.
  • Activate automatic synchronization of photos and videos; Immich allows custom rules such as wifi only, only while charging the mobile, include or exclude videos, and control over the compression/quality level.
  • You can upload manually by selecting the photos or videos you want.

The apps clearly show the backup status of each file with differentiating icons , and allow you to view the shared gallery or just your own.

Customization, advanced administration and maintenance

Internal configuration of the Immich server

From the server administration you can:

  • Create users and assign quotas, custom storage labels, and manual reviewers
  • Import strategies: from Google Photos (via Google Takeout and Immich's CLI), iCloud, or local drives
  • Task and log management: track the progress of thumbnail generation, facial recognition processing, external library scanning, etc.
  • Configure storage templates, custom folder organization (by year, month, user…)
  • External integrations: webhooks, API, CLI, etc.

Security and external access

Remote access : To allow access over the internet, you need a reverse proxy (Nginx, Caddy, Traefik, etc.) with a configured SSL certificate. Just as importantly, never expose Immich to the public network without HTTPS.

VPN or Tailscale : The most secure solution is to restrict remote access only through an encrypted VPN. Using Tailscale makes it especially easy to connect all family devices and access them through the private network (100.xxx).

Good security practices:

  • Strong passwords and 2FA for the administrator when available
  • Firewall configured and periodic review of active connections/open sessions
  • Frequent container updates via docker compose pullalways checking the version notes

Backup and disaster recovery

It's essential to back up all your data : don't let Immich be the only copy of your photos. Always back up:

  • The original photo folder (UPLOAD_LOCATION)
  • The PostgreSQL database (manual or automated periodic dumps)
  • The .env configuration file and the docker-compose.yml

You can back up your data with rsync to another NAS, an encrypted cloud storage service, or a local external drive. Automating this process is key. Remember that a backup is only useful if you can restore it quickly, so test the process before disaster strikes.

Common troubleshooting

  • Upload errorsCheck free space on the server, maximum allowed size in the reverse proxy, update the mobile app, and check server logs.
  • Facial recognition/AI performanceIf the ML container restarts, you probably need more RAM or swap space; you can disable AI on low-resource installations.
  • Slow web performanceCheck resources (CPU/RAM), keep the database on SSD and clean caches regularly.
  • Mobile synchronization problems: ensures permissions in the app, checks connectivity and configures background refresh (iOS) or persistent service (Android).
  • Problematic updatesAlways set the version in the .env file and check compatibility before updating (the project introduces frequent changes to the database and configuration).

Optimization and best practices

To optimize performance and stability, it's recommended to maintain adequate resources and perform regular maintenance . Some tips:

  • Allocate sufficient RAM and swap for the ML container
  • Keep the database on an SSD to facilitate searches and indexing
  • Perform periodic database maintenance (vacuum/analyze)
  • Monitor disk space and expand storage as the library grows

Real-world user experience: highlights

Advanced users who have migrated from Google Photos or similar applications highlight several advantages that they do not find in any competitor:

  • The interface replicates the ease of use, chronological organization, and keyboard shortcuts of the commercial model (such as favorites, quick delete, timeline navigation, etc.).
  • Mass migration from Google Photos (via Google Takeout and the official Immich CLI and Immich-Go utilities) is very simple, although it may require minor adjustments to metadata.
  • Facial recognition and semantic search truly transform the experienceYou can ask it for photos of a person, events, concrete objects, or abstract concepts ("orange things") and the system responds quickly and accurately.
  • Independence from services that can close, change conditions, or charge extra electricity fees It provides long-term peace of mind and much lower costs if you already have your own hardware.
  • The mobile app is comprehensive, fast, and perfectly displays the status of backups.although the more advanced features are constantly being improved.
  • There is (yet) no good enough app for Android TV/Google TVwhich forces you to use the laptop connected to the TV to view family albums.

Integration, community and future development

One of Immich's greatest strengths is its active community: forums, Discord, GitHub, and specialized subreddits where you can ask about problems, propose improvements, report bugs, or contribute code, translations, and documentation.

Functionalities such as the following are seamlessly integrated:

  • API support for CLI
  • Map management and visualization with OpenStreetMap
  • Vector search management extension (VectorChord, evolution of the old pgvecto.rs)
  • Advanced storage features (TypeSense for ultra-fast searches, Redis for efficient caching, reverse proxy integration, and full HTTPS)

Development is very active, and new versions continually incorporate improvements. It's important to read the release notes for each version and test the updates in a staging environment if you rely heavily on the platform to avoid service disruptions.

Tips and frequently asked questions during deployment

  • Can Immich and PhotoPrism coexist? Yes, it's possible and useful: Immich as a day-to-day repository and PhotoPrism to index the external file in read-only mode.
  • Is it safe to leave the photos only in Immich? Absolutely not: always perform at least one regular external backup; never rely on a single local instance.
  • Does Immich manage to migrate well from other platforms? Importing from Google Photos or iCloud is simple and well-documented; when importing from local storage, you can set external libraries to read-only mode to ease the transition.
  • How much additional space will I need? It includes an additional 10%-20% on your originals for thumbnails, vector searches, and metadata.

Immich offers comprehensive private photo management, providing an experience similar to commercial platforms but with the autonomy, privacy, and freedom of self-hosting. If you're passionate about your memories and want to maintain complete control, Immich offers a more powerful and secure option than ever before.

Leave a comment