Files
TREK/wiki/Photo-Providers.md
T
Maurice ae80ad266d fix(immich): a server with a self-signed certificate can be connected, as the other providers can
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.
2026-09-23 17:41:25 +02:00

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 5000 HTTP / 5001 HTTPS, 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.


See also