mrkeyoor.com_
Tue 20 Oct 07:04 UTC
Self-Hostedevaluationupdated 20 Oct 2026

immich-go review

Immich-Go uploads photo and video collections to an existing Immich server. Its documented sources include Google Photos Takeout archives, local folders, iCloud exports, Picasa collections, and other Immich servers. The README describes source-specific metadata handling and a prebuilt binary that requires neither Node.js nor Docker.

Verdict

commit 6ee7ad5 built in 27 seconds and its Go test summary reported 27 passed and 0 failed out of 27. No photo migration was measured. Consider Immich-Go for a backed-up pilot, with specific checks for the same-path Takeout collision reported against this commit. Compare imported file identities and metadata with the retained export before proceeding with the full library.

We ran it

Lab card: what happened when we ran immich-goScreenshot of immich-go (github.com/simulot/immich-go)
Install✓ · 15s69 packages
Build✓ · 27s
Tests✓ · 9s27 passed · 0 failed of 27 (go test)
Repo501 files~29,619 lines of source · 95.5 MB · 8 CI workflows

Answers from our run

Does immich-go build from source?

Dependencies installed in 15 seconds (69 packages), and the build succeeded in 27 seconds. We cloned commit 6ee7ad5 into a clean Debian container with 3 CPUs and no project-specific setup.

Do immich-go's tests pass?

Yes. The project's own test command finished in 9 seconds and reported 27 passed, 0 failed (go test).

Who should not use immich-go?

People who still need a photo server: Immich-Go requires a running Immich instance with API access.

What are the alternatives to immich-go?

Immich CLI, PhotoPrism. commit 6ee7ad5 built in 27 seconds and its Go test summary reported 27 passed and 0 failed out of 27.

SetupN/ASource installation succeeded in the recorded sandbox. The documented prebuilt-binary installation path and platform/server combinations were not tested, so user setup ease remains unassessed.
DocsN/AThe supplied documentation explains source-specific behavior and validation checks. No explicit numerical rubric was supplied, and commands were not validated through a migration, so a defensible numerical rating remains unassessed.
CommunityN/AMetadata observed on October 20, 2026 records an October 18 last push, and an October 18 collision report is readable. These do not establish response times, fix completeness, or overall community health.
MaturityN/AThe measured source checks passed, but no real library migration was measured. The same-commit collision report leaves import completeness unresolved, so overall maturity remains unassessed.

Who it’s for

Immich owners evaluating an importer for a backed-up Google Photos Takeout.
People with local folders, iCloud exports, or Picasa collections who can inspect command-line reports and check imported metadata.
Developers considering source work on commit 6ee7ad5, whose measured installation, build, and tests succeeded.

Who it’s NOT for

People who still need a photo server: Immich-Go requires a running Immich instance with API access.
Anyone planning to delete their only export after uploading: upstream calls this an early version and asks users to keep a backup.
People expecting this review to establish migration completeness. No import was measured, and issue 1473 reports a same-path Takeout collision at the measured commit.

Setup reality

Our sandbox installed commit 6ee7ad5 in 15 seconds with 69 dependencies recorded, built it in 27 seconds, and completed tests in 9 seconds. The Go summary reported 27 passed and 0 failed out of 27. These results establish successful source checks in that sandbox, not a complete photo migration.

The documented user path is a prebuilt binary. It requires a running Immich server, its address, and an API key with appropriate permissions. The upload guide says optional pausing of Immich background jobs requires an admin API key.

The 2026-10-19 run recorded 3 CPUs, 8 GB RAM, and image golang:1.24-bookworm. The image label does not verify actual runtime versions. The README lists Windows, macOS, Linux, and FreeBSD binaries and claims Immich V2/V3 compatibility. The documented binary installation path and those platform/server combinations were not tested.

Passing source checks leave the import question open

Immich-Go is worth considering when a Google Photos migration needs the metadata surrounding each image. The README describes matching Takeout media with JSON metadata to preserve albums, descriptions, and locations. That is the documented purpose of its source-specific importer; our sandbox did not verify the resulting library.

For an Immich owner with a backed-up export, the useful next step is a representative pilot. A collision report names the exact commit measured here, so a successful build alone is insufficient grounds for committing a whole collection.

Immich-Go requires an existing server. If you are still choosing where the library will live, the supplied Immich review addresses the server choice. This review addresses importing into it.

What happened when we ran it

Our sandbox installed Immich-Go commit 6ee7ad5 in 15 seconds, recorded 69 dependencies, and built it in 27 seconds. Tests completed in 9 seconds: the Go summary reported 27 passed and 0 failed out of 27.

The 2026-10-19 run recorded 3 CPUs, 8 GB RAM, and image golang:1.24-bookworm. That configuration label does not establish actual Go or operating-system versions.

No import into a running Immich server was measured. The run did not establish metadata accuracy, migration completeness, or upload speed. It supports a narrower conclusion: the measured source installation, build, and tests succeeded.

A Takeout collision report names this commit

Issue 1473, opened October 18, 2026, describes different files with identical paths in separate Takeout ZIP series. The reporter says one file can be discarded as a local duplicate and the retained file can receive the other file's metadata sidecar.

The report distinguishes an import using v0.32.0 from a unit-test reproduction on main commit 6ee7ad5. That is the same commit our sandbox measured. The reported failure was not reproduced in our lab.

The reporter also describes three places where same-name files can be merged: the folder catalogue, fileTracker, and upload advice. Their proposed catalogue change addresses one layer. The supplied report does not establish a complete fix across all three.

For exports spanning multiple ZIP series, require a verified fix or a representative import that accounts for colliding paths before proceeding with the full library. Compare file identities as well as counts and metadata. A count alone would not establish that each retained file has the correct sidecar.

Installation and permissions still need checking

The README directs users to prebuilt binaries and says neither Node.js nor Docker is required. It lists Windows, macOS, Linux, and FreeBSD availability and claims Immich V2/V3 compatibility. Those are upstream statements, not platform or server combinations validated by our run.

Provide the server address and an API key with appropriate permissions. The upload guide says pausing Immich background jobs requires an admin API key. Grant permissions for the behavior you intend to use.

Read the organization settings before importing. The documentation describes album creation, duplicate handling, and stacking. Its best-practices guide distinguishes keeping RAW/JPEG files separately from stacking them or retaining one format. Choose the intended behavior before judging the pilot's result.

Check a pilot against the retained export

The best-practices guide recommends downloading all Takeout parts, testing a small subset, and checking dates, locations, and albums afterward. It includes a dry-run example for local folders and a separate pilot using real data. A dry run does not establish what an actual transfer will leave in the destination.

For this review's decision, choose a pilot containing the awkward cases in your collection: repeated paths across series, metadata sidecars, and RAW/JPEG pairs where applicable. Retain the archives and logs. Compare the resulting files and metadata with the source, including file identities for collision cases. This is a recommended acceptance check, not a migration performed by our lab.

Alternatives answer different questions

Immich's official CLI uploads photos and videos and supports recursive folder uploads. Consider it when a folder upload meets your needs. Its documented installation options use Node.js/npm or Docker. The same page recommends community-maintained Immich-Go for Google Photos Takeout imports; it does not establish an equivalent Takeout-metadata workflow in the official CLI.

PhotoPrism is an application for browsing, organizing, and sharing photos and videos. Consider it if the destination is still undecided. It changes the library application being evaluated, and the supplied evidence does not establish that it resolves the collision reported for Immich-Go.

Recent activity does not settle maintenance health

The supplied repository metadata, observed on October 20, 2026, records a last push of October 18, 2026 at 18:49:36 UTC. Issue 1473 was also opened on October 18. These establish recent recorded activity, but do not establish response times, fix completeness, or overall maintenance health.

The documentation provides source-specific explanations and validation advice. This review leaves documentation quality unscored because the supplied candidate provides no explicit scoring rubric and the commands were not validated through a migration.

Upstream calls Immich-Go an early version and asks users to keep backup copies. Retain the export until the destination accounts for the files and metadata you intended to import, including files sharing paths across Takeout series.

Alternatives

ProjectWhat it isPick it when
Immich CLI gh↗The official Immich command-line client uploads photos and videos.Choose it when recursive folder uploads meet your needs and its Node.js/npm or Docker installation options suit your environment.
PhotoPrism gh↗An application for browsing, organizing, and sharing photos and videos.Evaluate it when you are still choosing the destination photo-library application.

What people are saying

  1. [github-trending] simulot/immich-go

Sources

  1. Immich-Go README
  2. Takeout series collision report
  3. Immich-Go upload behavior
  4. Immich-Go best practices
  5. Official Immich CLI
  6. PhotoPrism README

More self-hosted reviews

itsaplan · playport · edge-smart-doh · Comma · ProsperoEden · zulu · the whole board →