Configuration¶
Database settings¶
Database values are environment-backed and shown as read-only in the UI.
The app reads:
DB_HOSTDB_PORTDB_USERNAMEDB_PASSWORDDB_DATABASE_NAME
These values are required because the app reads and updates immich data directly.
Read-only by design
The database values shown in the UI come from the running environment and are there as a sanity check, not for editing.
Keep them in Docker or your host environment
Set the database values where you launch the app, then restart it if you change them.
Processing settings¶
The Settings page lets you control:
- automatic processing on or off
- a user-friendly schedule preset:
- every hour
- every few minutes
- every few hours
- every day
- once a week
- advanced custom cron when needed
- batch size
- batch delay
- max parallelism
- whether airport infrastructure can override the city name
- verbose logging
The UI shows a human-readable summary of the selected schedule and the resulting cron expression.
Important behavior:
- scheduled runs do not start a second pass if one is already in progress
- manual runs from the dashboard still work independently of the automatic schedule
- custom cron is only needed for advanced cases; most users should stay on the preset schedule options
Schedule
Choose when the app should run automatically, from simple presets up to a custom cron schedule.
Batch size
Controls how many photos are processed at a time before the next pause or write cycle.
Parallelism
Controls how much work the app does at once. Higher values can be faster, but they also put more load on the system and database.
Airport matching
Leave it on if airport names are useful to you. Turn it off if you prefer commune or city names for photos taken on airport grounds.
Database connection details¶
The database section in Settings is read-only and mainly there as a sanity check.
- values are taken from the running process environment
- they are not stored in
settings.json
Data layout¶
Runtime data goes under /data in production or ./localdata in development.
Config goes under /config in production.
Operational notes¶
Turn off immich’s built-in reverse geocoding
Only one tool should be updating location names. See immich’s Reverse Geocoding Settings.
Bulk clear is a real change
The Data page can clear existing country, state, and city values before a rerun, so a database backup is strongly recommended first.
Country downloads take space
The app needs internet access when a country is downloaded for the first time, and those downloads can grow over time.
Do not run two reverse-geocoders against the same immich library
Immich ReverseGeo should be the only tool updating your immich location fields.
Turn off immich's built-in reverse geocoding before using this app, otherwise the two systems can step on each other's results. See immich's official docs: Reverse Geocoding and Reverse Geocoding Settings.
Clearing location data is a real metadata change
The Data page does not just reset this app's local state. It can clear existing immich location fields in the database.
Take a database backup before using it: Backup and Restore | Immich