Nanohost logo
PricingFAQ
Log inSign Up

Immich: A Private, Fast, and Modern Google Photos Alternative You Can Self-Host

Community Posts

10 Oct 2025

Immich: A Private, Fast, and Modern Google Photos Alternative You Can Self-Host full

TL;DR: If you want a self-hosted alternative of Google Photos, Immich is currently the most polished choice. It’s a self-hosted photo management tool with fast mobile backups, face & object search, albums and shared libraries, a slick web UI, and strong privacy by design. Below you’ll find an in-depth overview plus a short, step-by-step guide to deploy Immich on nanohost.org.

What is Immich?

Immich is an open-source photo and video management system focused on speed, privacy, and local control. Think of it as a Google Photos alternative that you run on your own server (home lab, VPS, or cloud). It supports multi-user setups (perfect for families), automatic mobile backups, timeline and map views, and machine-learning features like face clustering and object search.

Highlights at a glance

  • Mobile auto-backup (iOS/Android apps) with background upload and Wi-Fi rules
  • Modern web app with timeline, map view, albums, shared albums, favorites, search
  • Face clustering & object search powered by a dedicated ML service
  • HEIC, JPEG, RAW & video support (transcoding on server side)
  • Multi-user with roles; share albums or individual assets with links
  • Performance-first: quick previews, aggressive caching, responsive UI
  • Your data, your rules: keep originals, control retention, choose storage layout

Why choose a self-hosted Google Photos alternative?

  • Privacy & ownership: Your photos never leave infrastructure you control.
  • Predictable cost: Pay for storage/compute once; avoid escalating per-user fees.
  • Speed on LAN: Local backups and browsing are often faster than public clouds.
  • Portability: Migrate servers or disks on your terms.
  • Integrations: Pair with your backup stack, SSO, monitoring, and object storage if you like.

How Immich is put together (Architecture 101)

Immich typically runs as a small set of services:

  • Immich Server (Web & API) – serves the web UI and API, handles uploads, albums, sharing.
  • Machine-Learning Service – extracts embeddings for faces/objects to enable smart search.
  • PostgreSQL – stores metadata (users, albums, indexes, asset info).
  • Redis (or compatible) – job queue and caching for background tasks.
  • Storage – a durable filesystem for originals & thumbnails (local disk, NAS, etc.).
Tip: Start with local persistent storage (fast SSD) for simplicity. You can later add a backup/sync process (e.g., rclone) if you want off-site copies.

Sizing & requirements (rule-of-thumb)

  • CPU: 2–4 vCPU for a small family library; add more for heavy ML indexing or large video transcodes.
  • Memory: 4–8 GB RAM to start; more helps when indexing tens of thousands of photos.
  • Disk: SSD recommended (metadata & thumbnails love IOPS). Plan ~10–20% overhead for derived files.
  • Network: Gigabit LAN is ideal; enable HTTP/2 and TLS for remote access.

GPU is optional. If you enable it, ML tasks (face/clip embeddings, video transcodes) can accelerate significantly.

The rise of privacy-first computing and homelabs

In recent years, more and more people have started rethinking how they store their personal data. Not everyone feels comfortable keeping a lifetime of photos and videos on servers run by big corporations — companies that scan your content for machine learning or advertising purposes, or may restrict access if your account gets flagged. For many, the ability to own and control their digital memories has become just as important as convenience or cloud sync.

This shift has given rise to a growing community of homelab enthusiasts — individuals who run their own infrastructure, from tiny Raspberry Pi clusters to powerful rack-mounted servers. They value privacy, independence, and transparency, often choosing open-source tools that can be self-hosted and extended.

Immich fits perfectly into this philosophy. It’s lightweight enough to run on a home server or NAS, yet robust enough to handle production-grade workloads on a VPS or cloud platform. Whether you want a small personal archive at home or a family photo library accessible from anywhere, Immich scales beautifully in both directions.

Feature tour

Fast mobile backups

Set rules like “backup only on Wi-Fi” or exclude specific folders (Screenshots, WhatsApp). Background uploads keep your camera roll safe without manual effort.

Search that actually works

Search by person, place, or thing (“dog”, “beach”, “mountain”) thanks to embeddings generated by the ML service.

Albums & sharing

Organize by albums, then share securely with family and friends. Create public links with expiry when you need to send a set of photos quickly.

Map & timeline views

See where and when life happened. EXIF data powers rich navigation across years and locations.

Admin controls & multi-user

Invite users, set roles, manage quotas (optional), and keep everything tidy from a central admin view.

Migrating from Google Photos (high level)

1. Export with Google Takeout (choose Photos; include metadata JSON).

2. Upload into Immich using the web importer or desktop uploader.

3. Let Immich index: it’ll scan, generate thumbnails, and run ML jobs.

4. Rebuild albums if needed: Takeout exports may not map 1:1 with shared albums—use Immich albums and shares going forward.

Step-by-step: Deploy Immich on nanohost.org

Below is a pragmatic, cloud-friendly setup that uses nanohost’s managed services for reliability and easy maintenance.

1. Create account or log into existing one

2. Order new server on Ubuntu. We recommend medium, large or extra large configuration.

3. When server is ready (you will receive email and status will be running (green circle in the account) connect via SSH to it.

4. Create a directory of your choice (e.g. /srv/immich) to hold the docker-compose.yml and .env files:

mkdir -p /srv/immich
cd /srv/immich

5. Install docker and docker-compose. You can use this step-by-step guide: How to install docker on Ubuntu.

6. Download docker-compose.yml and example.env by running the following commands:

# get docker-compose.yml
wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml

# get .env 
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env

7. Edit docker-compose.yml:

nano docker-compose.yml

Find this section:

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    # extends:
    #   file: hwaccel.transcoding.yml
    #   service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
    volumes:
      # Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
      - ${UPLOAD_LOCATION}:/data
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    ports:
      - '2283:2283'
    depends_on:
      - redis
      - database
    restart: always
    healthcheck:
      disable: false

And change '2283:2283' to '80:2283'. Now you need to save file. Press ctrl+x, then Y and Enter.

8. Start docker-compose using following command:

docker compose up -d

If everything is OK, you should see the Immich registration form by going to the address specified in the Domain field for your virtual server.

FAQ

Is Immich ready for family use?
Yes—many folks run it for multi-user libraries with tens or hundreds of thousands of photos. Start with good hardware and regular backups.

Can I migrate from Google Photos?
Yes. Use Google Takeout, then import into Immich. Albums/shares may need rebuilding; once you’re in Immich, ongoing organization is smooth.

Do I need a GPU?
No. A CPU-only setup works fine. A GPU just speeds up ML and heavy transcoding.

Can I scale later?
Absolutely. Increase CPU/RAM, enlarge the volume, or move to more powerful nodes. With nanohost.org, these are straightforward changes.

Conclusion

If you’ve been looking for a fast, private, and modern self-hosted alternative of Google Photos, Immich is hard to beat. It’s a polished self-hosted photo management tool that delivers the everyday convenience of a Google Photos alternative without giving up control of your memories. With nanohost.org handling the heavy lifting—managed Postgres, Redis, volumes, domains, and TLS—you can be up and running in under an hour, and your photos will finally live where they belong: with you.

tutorialsubuntuhomelabself-hosting

Read also

Immich: A Private, Fast, and Modern Google Photos Alternative You Can Self-Host

Immich: A Private, Fast, and Modern Google Photos Alternative You Can Self-Host

Community Posts

If you want a self-hosted alternative of Google Photos, Immich is currently the most polished choice. It’s a self-hosted photo management tool with fast mobile backups, face & object search, albums and shared libraries, a slick web UI, and strong privacy by design.

Next.js 15 Folder Structure: A Practical Guide for Scalability and Clean Architecture

Next.js 15 Folder Structure: A Practical Guide for Scalability and Clean Architecture

Community Posts

A solid folder structure is key to building scalable, maintainable, and high-performing Next.js applications. In this post, we’ll walk through how to organize your Next.js 15 project the right way.

Products

Server in the United StatesServer in the United KingdomServer in NetherlandsServer in SingaporeServer in Poland

NOVPS CLOUD LTD ©2025