Synology Photos, AirTrail and Dawarich each have a switch to trust a self-signed certificate; Immich had none, so every request to such a server failed with a bare "fetch failed" (#2475). Immich gets the same switch, per user and off by default: - users.immich_allow_insecure_tls (migration 243, column guarded) and a settings row labelled with the existing skipSSLVerification string, so no new translations. The settings card on desktop and phone draws it from that row. - Every request to the user's Immich (status, browse, search, asset info and proxy, albums, upload) passes rejectUnauthorized from the switch. Only 1 counts as on. A shared photo follows its owner's switch, since it goes to the owner's server with the owner's key. - Settings PUT and the connection test take allow_insecure_tls as a boolean. Absent on a save keeps the stored choice, so an older client cannot clear it; disconnecting turns it off again. - A failed request names its cause, e.g. "fetch failed (self-signed certificate)", instead of only the undici message. - The upload mirror gets a timeout: the journey upload waits on it. Fresh installs also never showed "Mirror journey photos to Immich on upload": migration 112 added that row only where the Immich provider already existed, and on a new database the seeds create it after the migrations. The row is now in the seeds, and migration 243 adds it where the provider exists without it. Wiki: Photo-Providers.md documents the switch.
6.0 KiB
Photo Providers
TREK can browse your personal photo library on Immich or Synology Photos and attach selected photos to trips. TREK never copies the original files — it stores only a reference (provider name + asset ID) and proxies all image streams through its own server, so your provider credentials are never sent to the browser.
Admin: Enable at least one photo provider (Immich or Synology Photos) in Admin → Addons — photo provider toggles appear as sub-items under the Journey addon. Once a provider is on, its settings card appears in each user's Settings → Integrations. If your provider runs on a local or private network, the server must be configured to allow internal network access. See Admin-Addons and Internal-Network-Access.
Supported providers
| Provider | Internal ID |
|---|---|
| Immich | immich |
| Synology Photos | synologyphotos |
Both providers can be active at the same time.
Configuring a provider
Go to Settings → Integrations. Each enabled provider gets its own settings card there, titled with the provider's name — Immich and/or Synology Photos.
Immich
| Field | Required | Notes |
|---|---|---|
| Server URL | Yes | Full URL of your Immich instance, e.g. https://immich.example.com |
| API Key | Yes | Stored encrypted; never returned to the browser after saving |
| Skip SSL certificate verification | No | Checkbox; lets TREK connect to an Immich server with a self-signed certificate. Off by default |
| Mirror journey photos to Immich on upload | No | Checkbox; when enabled, photos you upload in TREK are also pushed to your Immich library |
Enter the full URL of your Immich instance and an Immich API key. The API key is stored encrypted on the TREK server and is never returned to the browser after it is saved.
Self-signed certificates
If your Immich server uses a self-signed certificate (for example behind a reverse proxy on your home network), the connection test fails with fetch failed (self-signed certificate). Turn on Skip SSL certificate verification, enter the API key again and test or save.
- The setting is per user and only applies to your own Immich connection. Disconnecting Immich turns it off again.
- Only the certificate check is skipped. The connection is still encrypted, but TREK can no longer tell your server from an impostor on the same network, and your API key travels over that connection. Prefer a certificate from a trusted CA where you can.
- Photos you share on a trip are loaded through your connection, so your setting applies when other trip members view them.
- A server on a local or private address still needs internal network access on the TREK server. See Internal-Network-Access.
Required API key permissions
When generating the API key in Immich (Account Settings → API Keys), grant only the scopes TREK actually uses:
| Permission | Why TREK needs it |
|---|---|
user.read |
Verify the API key and identify the connected account |
timeline.read |
Browse photos by date |
asset.read |
Read photo metadata and search results |
asset.view |
Load thumbnails and preview images |
album.read |
List owned + shared albums and their contents |
asset.download |
Download the assets |
asset.upload |
Only if you enable "Mirror journey photos to Immich on upload" — push TREK uploads back to your library |
TREK never modifies or deletes anything in Immich, so no update, delete, or admin scopes are needed.
Synology Photos
| Field | Required | Notes |
|---|---|---|
| Server URL | Yes | Full URL including the Photos app path, e.g. https://your-nas:5001/photo |
| Username | Yes | Synology account username |
| Password | Yes | Stored encrypted; leave blank to keep the existing password |
| MFA code (if enabled) | No | One-time password for 2FA; only needed on first connection or when re-authenticating |
| Skip SSL certificate verification | No | Checkbox; disable TLS certificate validation for self-signed certificates |
Required DSM account permissions
Synology Photos doesn't use API keys — TREK signs in with a regular DSM user account. To minimize blast radius, create a dedicated low-privilege DSM user for TREK rather than reusing your admin account:
- A standard (non-admin) DSM user account is sufficient.
- The account must have access to the Synology Photos package (DSM → Control Panel → User & Group → [user] → Applications, allow Synology Photos).
- The account must be able to log in to DSM (not disabled, not IP-blocked).
- Network access to DSM (typically port
5000HTTP /5001HTTPS, or your reverse-proxy host). - 2FA is supported — enter the OTP at first connection; TREK stores the resulting device token so you won't be re-prompted on subsequent saves.
- Read-only access is enough — TREK only lists albums, lists items, runs searches, and fetches thumbnails. It never writes, uploads, or deletes.
Testing the connection
Each provider section has a Test Connection button. Clicking it sends your current field values to the server and attempts to authenticate with the provider. A green "Connected" badge confirms success; any error message from the provider is shown if it fails.
For Synology, a successful test stores a session token so the OTP code is not required again on subsequent saves (as long as the URL and username remain the same).
Multiple providers
You can configure both Immich and Synology simultaneously. TREK queries photos from all enabled providers when loading trip photos.
After setup
Once a provider is connected, you can browse and attach photos to your trips. See Documents-and-Files for how to manage files after setup.