Aller au contenu principal
Kgaut's links

Navigation principale

  • Accueil
Menu du compte de l'utilisateur
  • Se connecter

Fil d'Ariane

  1. Accueil

GitHub - simulot/immich-go: An alternative to the immich-CLI command that doesn't depend on nodejs installation. It tries its best for importing google photos takeout archives.

Par Anonyme (non vérifié) , 14 janvier 2026
URL
GitHub - simulot/immich-go: An alternative to the immich-CLI command that doesn…
body
simulot / immich-go Public
  • Uh oh!

    There was an error while loading. Please reload this page.

  • Notifications You must be signed in to change notification settings
  • Fork 178
  • Star 5.2k

An alternative to the immich-CLI command that doesn't depend on nodejs installation. It tries its best for importing google photos takeout archives.

License

AGPL-3.0 license
5.2k stars 178 forks Branches Tags Activity
Star
Notifications You must be signed in to change notification settings
  • Code
  • Issues 171
  • Pull requests 19
  • Discussions
  • Actions
  • Projects 0
  • Security

    Uh oh!

    There was an error while loading. Please reload this page.

  • Insights
Additional navigation options
  • Code
  • Issues
  • Pull requests
  • Discussions
  • Actions
  • Projects
  • Security
  • Insights

simulot/immich-go

BranchesTags
Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,214 Commits
.github
.github
 
 
.vscode
.vscode
 
 
adapters
adapters
 
 
app
app
 
 
docs
docs
 
 
immich
immich
 
 
internal
internal
 
 
scripts
scripts
 
 
.cspell-words.txt
.cspell-words.txt
 
 
.cspell.json
.cspell.json
 
 
.gitignore
.gitignore
 
 
.golangci.yml
.golangci.yml
 
 
.goreleaser.yaml
.goreleaser.yaml
 
 
.markdown-link-check.json
.markdown-link-check.json
 
 
.markdownlint.json
.markdownlint.json
 
 
.vale.ini
.vale.ini
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
GEMINI.md
GEMINI.md
 
 
LICENSE
LICENSE
 
 
go.mod
go.mod
 
 
go.sum
go.sum
 
 
main.go
main.go
 
 
readme-old.md
readme-old.md
 
 
readme.md
readme.md
 
 

Repository files navigation

  • README
  • Contributing
  • AGPL-3.0 license

Immich-Go: Upload Your Photos to Your Immich Server

Immich-Go is an open-source tool designed to streamline uploading large photo collections to your self-hosted Immich server.

⚠️ This is an early version, not yet extensively tested
⚠️ Keep a backup copy of your files for safety

🌟 Key Features

  • Simple Installation: No NodeJS or Docker required
  • Multiple Sources: Upload from Google Photos Takeouts, iCloud, local folders, ZIP archives, and other Immich servers
  • Large Collections: Successfully handles 100,000+ photos
  • Smart Management: Duplicate detection, burst photo stacking, RAW+JPEG handling
  • Cross-Platform: Available for Windows, macOS, Linux, and FreeBSD

🚀 Quick Start

1. Install Immich-Go

Download the pre-built binary for your system from the GitHub releases page.

2. Basic Usage

# Upload photos from a local folder
immich-go upload from-folder --server=http://your-ip:2283 --api-key=your-api-key /path/to/your/photos

# Upload Google Photos takeout
immich-go upload from-google-photos --server=http://your-ip:2283 --api-key=your-api-key /path/to/takeout-*.zip

# Archive photos from Immich server
immich-go archive from-immich --server=http://your-ip:2283 --api-key=your-api-key --write-to-folder=/path/to/archive

3. Requirements

  • A running Immich server with API access
  • API key with appropriate permissions (see full list)

⚠️ 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.

🙈 Skip System Files

  • 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).
  • Immich-Go ships with sensible defaults that already skip common clutter such as @eaDir/, @__thumb/, SYNOFILE_THUMB_*.*, Lightroom Catalog/, thumbnails/, .DS_Store, /._*, .Spotlight-V100/, .photostructure/, and Recently Deleted/.
  • Add additional patterns as needed to keep uploads focused on real photos. See the banned files reference for details.

📚 Documentation

Topic Description
Installation Detailed installation instructions for all platforms
Commands Complete command reference and options
Configuration Configuration options and environment variables
Examples Common use cases and practical examples
Best Practices Tips for optimal performance and reliability
Technical Details File processing, metadata handling, and advanced features
Upload Commands Overview How immich-go processes files from different sources
Release Notes Version history and release notes

✨ How immich-go Works

immich-go offers a versatile set of commands to handle your photo and video uploads. Whether you're uploading from a simple folder, migrating from a Google Photos Takeout, or transferring assets between Immich servers, the tool provides intelligent features to preserve your metadata and organization.

Here's a brief overview of the main upload commands:

  • from-folder: The basic command for uploading from any local folder. It can create albums from your directory structure and read XMP sidecar files.
  • from-google-photos: A powerful command to migrate from a Google Photos Takeout. It intelligently matches photos with their JSON metadata to preserve albums, descriptions, and locations.
  • from-immich: A server-to-server migration tool that allows you to copy assets between two Immich instances with fine-grained filtering.
  • from-picasa: A specialized version of from-folder that automatically reads .picasa.ini files to restore your Picasa album organization.
  • from-icloud: Another specialized command that handles the complexity of an iCloud Photos takeout, correctly identifying creation dates and album structures from the included CSV files.

Leveraging Immich's Features

immich-go is more than just an uploader; it intelligently interacts with the Immich server to preserve your library's structure:

  • Albums and Tags: Automatically creates albums and tags on the server to match your source organization.
  • Stacking: Groups related images, like RAW+JPEG pairs or photo bursts, into stacks.
  • Duplicate Detection: Avoids re-uploading files that already exist on the server.
  • Efficient Uploads: Can pause Immich's background jobs (like thumbnailing) during an upload for better performance.

For a detailed explanation of how each upload command works, please see the Upload Commands Overview.

🎯 Popular Use Cases

  • Google Photos Migration: Complete guide
  • iCloud Import: Step-by-step instructions
  • Server Migration: Transfer between Immich instances
  • Bulk Organization: Stacking and tagging strategies

💡 Support the Project

  • GitHub Sponsor
  • PayPal Donation

🤝 Contributing

Contributions are welcome! Please see our contributing guidelines for details.

📄 License

This project is licensed under the terms specified in the LICENSE file.


Need help? Check our documentation or open an issue on GitHub.

About

An alternative to the immich-CLI command that doesn't depend on nodejs installation. It tries its best for importing google photos takeout archives.

Topics

golang photos google takeout immich immich-cli

Resources

Readme

License

AGPL-3.0 license

Contributing

Contributing

Uh oh!

There was an error while loading. Please reload this page.

Activity

Stars

5.2k stars

Watchers

19 watching

Forks

178 forks
Report repository

Releases 117

v0.31.0 Latest
Nov 23, 2025
+ 116 releases

Sponsor this project

 

Uh oh!

There was an error while loading. Please reload this page.

Learn more about GitHub Sponsors

Uh oh!

There was an error while loading. Please reload this page.

Contributors 45

Uh oh!

There was an error while loading. Please reload this page.

+ 31 contributors

Languages

  • Go 94.7%
  • Shell 5.3%
Résumé
An alternative to the immich-CLI command that doesn't depend on nodejs installation. It tries its best for importing google photos takeout archives. - simulot/immich-go
Image

Mots clés

activitypubAndroidAnniversaireAppauvergnebaladebatchcacheCICultureDaronnadeddevdebiandockerDrupalfedorafirefoxgitgithubgitlabgitlab-cigooglehome-assistanthomeserverjardinagekoboLecturelinuxmigrate APIOrchestrationoutilphpphpunitplexrandonnéeselfhostingsportSpotifysymfonysécuritéTestswallpaper
Propulsé par Drupal