Skip to content

Environment Variables

Complete reference of all environment variables. Variables follow the pattern IMMICH_GO_<COMMAND>_<FLAG>.

Naming Convention

FlagEnvironment Variable
--log-level (global)IMMICH_GO_LOG_LEVEL
--server (upload)IMMICH_GO_UPLOAD_SERVER
--from-api-key (upload)IMMICH_GO_UPLOAD_FROM_API_KEY

Rules:

  1. Prefix: IMMICH_GO_
  2. Global flags: IMMICH_GO_<FLAG>
  3. Command flags: IMMICH_GO_<COMMAND>_<FLAG>
  4. Replace - with _
  5. Uppercase

Global Variables

VariableFlagDefaultDescription
IMMICH_GO_CONCURRENT_TASKS--concurrent-tasks10Parallel tasks (1-20)
IMMICH_GO_DRY_RUN--dry-runfalseSimulate without changes
IMMICH_GO_LOG_LEVEL--log-levelINFODEBUG, INFO, WARN, ERROR
IMMICH_GO_ON_ERRORS--on-errorsstopstop, continue, or number
IMMICH_GO_OUTPUT--outputtexttext or json

Upload Variables

Server Connection

VariableFlagDefaultDescription
IMMICH_GO_UPLOAD_SERVER--server-Server URL
IMMICH_GO_UPLOAD_API_KEY--api-key-API key
IMMICH_GO_UPLOAD_ADMIN_API_KEY--admin-api-key-Admin API key
IMMICH_GO_UPLOAD_CLIENT_TIMEOUT--client-timeout20mRequest timeout
IMMICH_GO_UPLOAD_SKIP_VERIFY_SSL--skip-verify-sslfalseSkip SSL check
IMMICH_GO_UPLOAD_API_TRACE--api-tracefalseLog API calls

Upload Behavior

VariableFlagDefaultDescription
IMMICH_GO_UPLOAD_DRY_RUN--dry-runfalseSimulate
IMMICH_GO_UPLOAD_OVERWRITE--overwritefalseReplace existing
IMMICH_GO_UPLOAD_PAUSE_IMMICH_JOBS--pause-immich-jobstruePause server jobs
IMMICH_GO_UPLOAD_NO_RESUME_JOBS--no-resume-jobsfalseDon't resume jobs
IMMICH_GO_UPLOAD_DEVICE_UUID--device-uuidHOSTNAMEDevice identifier
IMMICH_GO_UPLOAD_TIME_ZONE--time-zone-Override timezone

Source Modes

VariableFlagDefaultDescription
IMMICH_GO_UPLOAD_GOOGLE--googlefalseGoogle Photos mode
IMMICH_GO_UPLOAD_ICLOUD--icloudfalseiCloud mode
IMMICH_GO_UPLOAD_PICASA--picasafalsePicasa mode
IMMICH_GO_UPLOAD_FROM_IMMICH--from-immichfalseImmich-to-Immich

File Handling

VariableFlagDefaultDescription
IMMICH_GO_UPLOAD_RECURSIVE--recursivetrueProcess subfolders
IMMICH_GO_UPLOAD_DATE_FROM_NAME--date-from-nametrueExtract date from filename
IMMICH_GO_UPLOAD_IGNORE_SIDECAR_FILES--ignore-sidecar-filesfalseSkip XMP files
IMMICH_GO_UPLOAD_BAN_FILE--ban-file[defaults]Exclude patterns

Filtering

VariableFlagDefaultDescription
IMMICH_GO_UPLOAD_DATE_RANGE--date-range-Date filter
IMMICH_GO_UPLOAD_INCLUDE_EXTENSIONS--include-extensionsallOnly these extensions
IMMICH_GO_UPLOAD_EXCLUDE_EXTENSIONS--exclude-extensions-Skip these extensions
IMMICH_GO_UPLOAD_INCLUDE_TYPE--include-typeallIMAGE or VIDEO

Albums and Tags

VariableFlagDefaultDescription
IMMICH_GO_UPLOAD_FOLDER_AS_ALBUM--folder-as-albumNONEFOLDER, PATH, NONE
IMMICH_GO_UPLOAD_FOLDER_AS_TAGS--folder-as-tagsfalseFolders as tags
IMMICH_GO_UPLOAD_INTO_ALBUM--into-album-Put all in album
IMMICH_GO_UPLOAD_ALBUM_PATH_JOINER--album-path-joiner" / "Path separator
IMMICH_GO_UPLOAD_ALBUM_PICASA--album-picasafalseUse Picasa albums
IMMICH_GO_UPLOAD_TAG--tag[]Custom tags
IMMICH_GO_UPLOAD_SESSION_TAG--session-tagfalseSession timestamp tag

Stacking

VariableFlagDefaultValues
IMMICH_GO_UPLOAD_MANAGE_RAW_JPEG--manage-raw-jpegNoStackNoStack, KeepRaw, KeepJPG, StackCoverRaw, StackCoverJPG
IMMICH_GO_UPLOAD_MANAGE_HEIC_JPEG--manage-heic-jpegNoStackNoStack, KeepHeic, KeepJPG, StackCoverHeic, StackCoverJPG
IMMICH_GO_UPLOAD_MANAGE_BURST--manage-burstNoStackNoStack, Stack, StackKeepRaw, StackKeepJPEG
IMMICH_GO_UPLOAD_MANAGE_EPSON_FASTFOTO--manage-epson-fastfotofalsetrue/false

Google Photos Options

VariableFlagDefaultDescription
IMMICH_GO_UPLOAD_INCLUDE_UNMATCHED--include-unmatchedfalseFiles without JSON
IMMICH_GO_UPLOAD_INCLUDE_ARCHIVED--include-archivedtrueArchived photos
IMMICH_GO_UPLOAD_INCLUDE_TRASHED--include-trashedfalseTrashed photos
IMMICH_GO_UPLOAD_INCLUDE_PARTNER--include-partnertruePartner's photos
IMMICH_GO_UPLOAD_SYNC_ALBUMS--sync-albumstrueCreate matching albums
IMMICH_GO_UPLOAD_INCLUDE_UNTITLED_ALBUMS--include-untitled-albumsfalseUntitled albums
IMMICH_GO_UPLOAD_FROM_ALBUM_NAME--from-album-name-Specific album only
IMMICH_GO_UPLOAD_PARTNER_SHARED_ALBUM--partner-shared-album-Album for partner photos
IMMICH_GO_UPLOAD_TAKEOUT_TAG--takeout-tagtrueTakeout timestamp tag
IMMICH_GO_UPLOAD_PEOPLE_TAG--people-tagtruePeople name tags

iCloud Options

VariableFlagDefaultDescription
IMMICH_GO_UPLOAD_MEMORIES--memoriesfalseImport memories as albums

Immich-to-Immich Source

VariableFlagDefaultDescription
IMMICH_GO_UPLOAD_FROM_SERVER--from-server-Source server URL
IMMICH_GO_UPLOAD_FROM_API_KEY--from-api-key-Source API key
IMMICH_GO_UPLOAD_FROM_ADMIN_API_KEY--from-admin-api-key-Source admin key
IMMICH_GO_UPLOAD_FROM_CLIENT_TIMEOUT--from-client-timeout20mSource timeout
IMMICH_GO_UPLOAD_FROM_SKIP_VERIFY_SSL--from-skip-verify-sslfalseSource SSL check
IMMICH_GO_UPLOAD_FROM_DATE_RANGE--from-date-range-Source date filter
IMMICH_GO_UPLOAD_FROM_ALBUMS--from-albums[]Source albums
IMMICH_GO_UPLOAD_FROM_TAGS--from-tags[]Source tags
IMMICH_GO_UPLOAD_FROM_PEOPLE--from-people[]Source people
IMMICH_GO_UPLOAD_FROM_ARCHIVED--from-archivedfalseArchived only
IMMICH_GO_UPLOAD_FROM_FAVORITE--from-favoritefalseFavorites only
IMMICH_GO_UPLOAD_FROM_TRASH--from-trashfalseTrashed only
IMMICH_GO_UPLOAD_FROM_NO_ALBUM--from-no-albumfalseNot in albums
IMMICH_GO_UPLOAD_FROM_MINIMAL_RATING--from-minimal-rating0Minimum rating
IMMICH_GO_UPLOAD_FROM_PARTNERS--from-partnersfalsePartner's assets
IMMICH_GO_UPLOAD_FROM_MAKE--from-make-Camera make
IMMICH_GO_UPLOAD_FROM_MODEL--from-model-Camera model
IMMICH_GO_UPLOAD_FROM_COUNTRY--from-country-Country
IMMICH_GO_UPLOAD_FROM_STATE--from-state-State
IMMICH_GO_UPLOAD_FROM_CITY--from-city-City

Archive Variables

Same as upload variables, prefixed with IMMICH_GO_ARCHIVE_ instead of IMMICH_GO_UPLOAD_.

Additional:

VariableFlagDescription
IMMICH_GO_ARCHIVE_WRITE_TO_FOLDER--write-to-folderOutput folder

Stack Variables

VariableFlagDefaultDescription
IMMICH_GO_STACK_SERVER--server-Server URL
IMMICH_GO_STACK_API_KEY--api-key-API key
IMMICH_GO_STACK_ADMIN_API_KEY--admin-api-key-Admin API key
IMMICH_GO_STACK_CLIENT_TIMEOUT--client-timeout20mRequest timeout
IMMICH_GO_STACK_SKIP_VERIFY_SSL--skip-verify-sslfalseSkip SSL check
IMMICH_GO_STACK_API_TRACE--api-tracefalseLog API calls
IMMICH_GO_STACK_DRY_RUN--dry-runfalseSimulate
IMMICH_GO_STACK_DATE_RANGE--date-range-Date filter
IMMICH_GO_STACK_TIME_ZONE--time-zone-Override timezone
IMMICH_GO_STACK_DEVICE_UUID--device-uuidHOSTNAMEDevice identifier
IMMICH_GO_STACK_PAUSE_IMMICH_JOBS--pause-immich-jobstruePause server jobs
IMMICH_GO_STACK_MANAGE_RAW_JPEG--manage-raw-jpegNoStackRAW+JPEG handling
IMMICH_GO_STACK_MANAGE_HEIC_JPEG--manage-heic-jpegNoStackHEIC+JPEG handling
IMMICH_GO_STACK_MANAGE_BURST--manage-burstNoStackBurst handling
IMMICH_GO_STACK_MANAGE_EPSON_FASTFOTO--manage-epson-fastfotofalseEpson handling