This guide covers all installation methods for Immich-Go across different platforms.
- No prerequisites needed - just download and run!
- Go 1.25 or higher
- Git
- Immich Server: You need a running Immich server
- API Key: Generate from Account settings > API Keys > New API Key
- Basic Command Line Knowledge: Immich-Go is a command-line tool
Create an immich API key for each user account you plan to use with Immich-Go with the following permissions:
asset.readasset.statisticsasset.updateasset.uploadasset.copyasset.replaceasset.deleteasset.downloadalbum.createalbum.readalbumAsset.createserver.aboutstack.createtag.assettag.createuser.read
Immich-Go needs to pause Immich jobs during upload operations. Create an admin-linked API key that includes the permissions listed above, plus the following additional permission:
job.createjob.read
- Operating Systems: Windows, macOS, Linux, FreeBSD
- Architectures: AMD64 (x86_64), ARM
-
Download: Visit the releases page
-
Select your platform:
- Windows:
immich-go_Windows_x86_64.zip - macOS:
immich-go_Darwin_x86_64.tar.gz - Linux:
immich-go_Linux_x86_64.tar.gz - FreeBSD:
immich-go_Freebsd_x86_64.tar.gz
- Windows:
-
Extract the archive:
# Linux/macOS/FreeBSD tar -xzf immich-go*.tar.gz # Windows # Use Windows Explorer or your preferred zip tool
-
Make it accessible (Optional):
# Linux/macOS/FreeBSD - Add to system PATH sudo mv immich-go /usr/local/bin/ # Windows - Move immich-go.exe to a directory in your PATH # Or add the current directory to your system PATH
# Clone the repository
git clone https://github.com/simulot/immich-go.git
# Change to project directory
cd immich-go
# Build the binary
go build
# Install to GOPATH/bin (optional)
go installImmich-Go is available in nixpkgs:
# Try without installing
nix-shell -I "nixpkgs=https://github.com/NixOS/nixpkgs/archive/nixos-unstable-small.tar.gz" -p immich-go
# Or with flakes enabled
nix run "github:nixos/nixpkgs?ref=nixos-unstable-small#immich-go" -- --helpFor NixOS users, add immich-go to your configuration.nix:
environment.systemPackages = with pkgs; [
immich-go
];Pre-built ARM64 binaries don't work in Termux. Build from source:
# Install dependencies
pkg install git golang
# Build following the standard source instructions above
# Add to PATH (if using go install)
echo 'export PATH=$PATH:$(go env GOPATH)/bin' >> ~/.bashrc
source ~/.bashrcAfter installation, verify Immich-Go works correctly:
immich-go --versionThis should display the version number.
immich-go command sub-command [options] [path]- Linux, macOS, FreeBSD: If in current directory, use
./immich-go - Windows: If in current directory, use
.\immich-go
chmod +x immich-go- Ensure the binary is in your PATH, or
- Use the full path to the binary, or
- Run from the directory containing the binary
Use the --skip-verify-ssl flag if you have certificate issues (not recommended for production).