🍺 BREW Explorer

← all formulae

immich-go

brew install immich-go v0.31.0 AGPL-3.0-only

Alternative to the official immich-CLI command written in Go

117
30-day installs · #3257
338
90-day · #3358
1.5k
365-day · #3152
6.4k
★ GitHub stars · updated 5mo ago

Build dependencies

go

GitHub topics

golang google immich immich-cli photos takeout

Links

Raw metadata
{
  "aliases": [],
  "alternatives": [],
  "build_dependencies": [
    "go"
  ],
  "categories": [],
  "caveats": null,
  "conflicts_with": [],
  "dependencies": [],
  "deprecated": 0,
  "deprecation_reason": null,
  "desc": "Alternative to the official immich-CLI command written in Go",
  "disable_reason": null,
  "disabled": 0,
  "enrichment_fetched_at": "2026-06-20T23:38:50+00:00",
  "first_seen": "2026-06-20T23:34:18+00:00",
  "full_name": "immich-go",
  "github_default_branch": "main",
  "github_last_commit_at": "2026-03-02T09:00:04Z",
  "github_readme_excerpt": "# Immich-Go: Upload Your Photos to Your Immich Server\n\n**Immich-Go** is an open-source tool designed to streamline uploading large photo collections to your self-hosted Immich server.\n\n\u003e \u26a0\ufe0f This is an early version, not yet extensively tested\u003cbr\u003e\n\u003e \u26a0\ufe0f Keep a backup copy of your files for safety\u003cbr\u003e\n\n## \ud83c\udf1f Key Features\n\n- **Simple Installation**: No NodeJS or Docker required\n- **Multiple Sources**: Upload from Google Photos Takeouts, iCloud, local folders, ZIP archives, and other Immich servers\n- **Large Collections**: Successfully handles 100,000+ photos\n- **Smart Management**: Duplicate detection, burst photo stacking, RAW+JPEG handling\n- **Cross-Platform**: Available for Windows, macOS, Linux, and FreeBSD\n\n## \ud83d\ude80 Quick Start\n\n### 1. Install Immich-Go\nDownload the pre-built binary for your system from the [GitHub releases page](https://github.com/simulot/immich-go/releases).\n\n### 2. Basic Usage\n```bash\n# Upload photos from a local folder\nimmich-go upload from-folder --server=http://your-ip:2283 --api-key=your-api-key /path/to/your/photos\n\n# Upload Google Photos takeout\nimmich-go upload from-google-photos --server=http://your-ip:2283 --api-key=your-api-key /path/to/takeout-*.zip\n\n# Archive photos from Immich server\nimmich-go archive from-immich --from-server=http://your-ip:2283 --from-api-key=your-api-key --write-to-folder=/path/to/archive\n```\n\n### 3. Requirements\n- A running Immich server with API access\n- API key with appropriate permissions ([see full list](docs/installation.md#api-permissions))\n\n\u003e \u26a0\ufe0f **Breaking Change**: API keys must now include the `asset.copy` and `asset.delete` permissions in addition to previously required permissions. Please update your API keys accordingly.\n\n## \ud83d\ude48 Skip System Files\n\n- Use `--ban-file` to exclude junk artifacts. Patterns ending with `/` apply to directories (for example, `--ban-file .Spotlight-V100/`), while patterns without the trailing slash apply to individual files (for example, `--ban-file .DS_Store`).\n- Immich-Go ships w",
  "github_repo": "simulot/immich-go",
  "github_stars": 6371,
  "github_topics": [
    "golang",
    "google",
    "immich",
    "immich-cli",
    "photos",
    "takeout"
  ],
  "homepage": "https://github.com/simulot/immich-go",
  "homepage_og_description": null,
  "homepage_og_image": null,
  "homepage_title": null,
  "installs_30d": 117,
  "installs_365d": 1541,
  "installs_90d": 338,
  "keg_only": 0,
  "keg_only_reason": null,
  "last_seen": "2026-06-20T23:34:18+00:00",
  "license": "AGPL-3.0-only",
  "llm_generated_at": null,
  "llm_model": null,
  "name": "immich-go",
  "oldnames": [],
  "one_liner": null,
  "optional_dependencies": [],
  "rank_30d": 3257,
  "rank_365d": 3152,
  "rank_90d": 3358,
  "raw_hash": "476ecede7842a168",
  "recommended_dependencies": [],
  "revision": 0,
  "ruby_source_path": "Formula/i/immich-go.rb",
  "tap": "homebrew/core",
  "test_dependencies": [],
  "uses_from_macos": [],
  "version_head": "HEAD",
  "version_stable": "0.31.0",
  "versioned_formulae": [],
  "why_use_this": null
}