Files
infrastructure/clusters/cl01tl/applications/immich/values.yaml
Renovate Bot 121f92ebf1
Some checks failed
lint-test-helm / helm-lint (push) Successful in 7s
renovate / renovate (push) Has been cancelled
Update immich monorepo to v2.3.1 (#2112)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/immich-app/immich-machine-learning](https://github.com/immich-app/immich) | minor | `v2.2.3` -> `v2.3.1` |
| [ghcr.io/immich-app/immich-server](https://github.com/immich-app/immich) | minor | `v2.2.3` -> `v2.3.1` |

---

### Release Notes

<details>
<summary>immich-app/immich (ghcr.io/immich-app/immich-machine-learning)</summary>

### [`v2.3.1`](https://github.com/immich-app/immich/releases/tag/v2.3.1)

[Compare Source](https://github.com/immich-app/immich/compare/v2.3.0...v2.3.1)

##### v2.3.1

##### Hot fixes

Fixed an issue where the new version notification pop-up causes the web app to enter a rendering loop and freeze up.

> \[!IMPORTANT]
> We encourage all users to update to this version to avoid the issue that will happen when the next minor update is available, i.e., `v2.4.0`

##### What's Changed

##### 🐛 Bug fixes

- fix: supporter badge by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24012](https://github.com/immich-app/immich/pull/24012)
- fix: new update notification cause rendering loop by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24013](https://github.com/immich-app/immich/pull/24013)

**Full Changelog**: <https://github.com/immich-app/immich/compare/v2.3.0...v2.3.1>

### [`v2.3.0`](https://github.com/immich-app/immich/releases/tag/v2.3.0)

[Compare Source](https://github.com/immich-app/immich/compare/v2.2.3...v2.3.0)

##### v2.3.0

*Loa loa loa, the stock is running low on [Retro DVD ](https://immich.store/products/immich-retro)**📀**! If you want to get one for yourself, you still can, but once this batch is gone, we won’t be making any more, **EVER!** So get one while you can from [immich.store](https://immich.store/)!*

<img  alt="image" src="https://github.com/user-attachments/assets/f5977e5f-aabe-4c7a-a8d3-ee44b43b0f15" />

> \[!IMPORTANT]\
> We will start the work on removing the old mobile timeline soon. If you are still using the old timeline, please make sure to switch to the new timeline. If this message does not make sense to you, you can ignore it as you are already on the new timeline

##### Highlights

Welcome to the release `v2.3.0` of Immich. This version comes with enhancements to the OCR feature and many bug fixes. This release also introduces foundational support for workflows and an application restore mechanism directly in the web UI. Let’s dive into some of the highlights below

- OCR Improvements
- Add/move action in mobile app
- Delete synchronization - Android
- Notable fixes: app freezes on resume on iOS
- Sneak peek: Maintenance mode and workflow

##### Add/move action in mobile app

The asset viewer in the mobile app now includes an “Add to” button that lets you quickly add an asset to an album, the locked folder, or the archive. Thanks [@&#8203;happychriss](https://github.com/happychriss)!

<p align="center">
<img width="300"  alt="Tapping the Add to button presents a menu to add/move an asset" src="https://github.com/user-attachments/assets/21327e0b-ae5f-43b2-9f44-b75655895852" />
</p>

##### OCR Improvement

This release includes several enhancements to the OCR feature. There are now language-specific OCR model variants, extending support to Greek, Korean, Russian, Belarusian, Ukrainian, Thai, and languages using the Latin script. All variants (including the existing models) support English as well. There is also an English-only model that performs better for libraries where multilingual support is not needed.

To switch to one of these models, you can navigate to the [OCR settings](https://my.immich.app/admin/system-settings?isOpen=machine-learning+ocr), choose the relevant model, save, then re-run OCR on all assets through the [Job Status](https://my.immich.app/admin/jobs-status) page.

<p align="center">
<img width="800" alt="image" src="https://github.com/user-attachments/assets/86008221-4116-43d3-bd0d-f954e0e1a83a" />
</p>

The OCR information can now be viewed by toggling a button in the web viewer. You can hover the mouse over the text and copy it.

<p align="center">
<img width="500" alt="image" src="https://github.com/user-attachments/assets/693bcfd0-f4f0-40c1-a292-403b04166514" />
</p>

##### Delete synchronization on Android.

This release restores the previous mechanism for synchronizing the deletion action between the web and the mobile app. In addition to putting the asset in Immich’s trash bin, the mechanism also puts the deleted asset in the device’s trash system when the app opens. The mechanism has been reworked to align with the new data sync mechanism in the mobile app. You can enable the mechanism in the `App Settings > Advanced > Sync Remote Deletions`

<p align="center">
<img width="400" alt="image" src="https://github.com/user-attachments/assets/60d3f53d-a5f8-4235-944d-0e2e80040148" />
</p>

##### Notable fixes: app freezes on resume on iOS

Previously, iOS background tasks, such as local or remote data sync and background uploads, could abruptly terminate database operations when the iOS’s background time expires, leaving the database lock unreleased. It leads to an annoying symptom: the app appears to freeze when opening from the background, requiring a hard restart (swipe up to close, then reopen) to regain access to the database. The bug happened sporadically and was incredibly hard to track down. Thanks to the relentless pursuit of the bug, we believe it has been caught through our extensive testing. Please let us know if you are still getting “bugged” by this one in the new version.

##### Sneak peek: Maintenance mode and workflow

We can’t contain the excitement to share two exciting items in the work, which have some portions already merged into the server, and are ready to be built upon

##### Maintenance mode

This mode will allow the admin to put the server into a state where no one can access it without entirely shutting it down. This paves the way for restoring the server from a previous point in time directly from the web UI, no more fidgeting with the terminal.

<https://github.com/user-attachments/assets/26aa5f7f-5e5f-45b5-aa89-347325f10f41>

##### Workflow

The foundation of workflows and plugins also made its way to the server; the UI is being worked on. This feature will enable many more custom use cases that are not available in the core application. The community can write custom plugins and share them. We are very excited to see this happening faster than anticipated. Below is a screenshot of how the feature could look.

<p align="center">
<img width="600" height="4574" alt="image" src="https://github.com/user-attachments/assets/c0fccc92-6d9b-41e9-b271-574568425ba3" />

<img width="600" height="1822" alt="image" src="https://github.com/user-attachments/assets/c8991763-cd45-4c1e-90ad-5a1179eef789" />
</p>

##### What's Changed
##### 🚀 Features
* feat: Add random memories resource by @&#8203;jpg0 in https://github.com/immich-app/immich/pull/20025
* feat(mobile): Quick date picker in the search page by @&#8203;exelix11 in https://github.com/immich-app/immich/pull/22653
* feat: workflow foundation by @&#8203;alextran1502 in https://github.com/immich-app/immich/pull/23621
* feat(mobile): add to album from asset viewer by @&#8203;happychriss in https://github.com/immich-app/immich/pull/23608
* feat: maintenance mode by @&#8203;insertish in https://github.com/immich-app/immich/pull/23431
* feat(mobile): location edit from asset viewer by @&#8203;bwees in https://github.com/immich-app/immich/pull/23925
* feat: timeline e2e tests by @&#8203;midzelis in https://github.com/immich-app/immich/pull/23895
* feat: show OCR bounding box by @&#8203;alextran1502 in https://github.com/immich-app/immich/pull/23717

##### 🌟 Enhancements
* fix(web): add URLs to results in large files utility by @&#8203;Snowknight26 in https://github.com/immich-app/immich/pull/23617
* feat(ml): add preload and fp16 settings for ocr by @&#8203;mertalev in https://github.com/immich-app/immich/pull/23576
* feat(ml): multilingual ocr by @&#8203;mertalev in https://github.com/immich-app/immich/pull/23527
* feat(mobile): Show lens model information in the asset viewer detail panel  by @&#8203;fabianbees in https://github.com/immich-app/immich/pull/23601
* feat: lazy load thumbnails on people and place list by @&#8203;lukashass in https://github.com/immich-app/immich/pull/23682
* feat: make memories slideshow duration configurable by @&#8203;meesfrensel in https://github.com/immich-app/immich/pull/22783
* feat(mobile): chat-style for asset activity view by @&#8203;idubnori in https://github.com/immich-app/immich/pull/23347
* feat: show update version info by @&#8203;alextran1502 in https://github.com/immich-app/immich/pull/23698
* feat(mobile): album activity deep link by @&#8203;idubnori in https://github.com/immich-app/immich/pull/23737
* feat(web): animate gifs on hover by @&#8203;meesfrensel in https://github.com/immich-app/immich/pull/23198
* feat(web): disable searching by disabled features by @&#8203;meesfrensel in https://github.com/immich-app/immich/pull/23798
* feat: library details page by @&#8203;danieldietzler in https://github.com/immich-app/immich/pull/23908
* feat(web): always view original of animated images by @&#8203;meesfrensel in https://github.com/immich-app/immich/pull/23842
* feat: add originalPath for external library assets in dedupe by @&#8203;kprkpr in https://github.com/immich-app/immich/pull/23710

##### 🐛 Bug fixes
* feat: exif medium tests by @&#8203;jrasm91 in https://github.com/immich-app/immich/pull/23561
* fix(web): fix timezone dropdown for timestamps lacking milliseconds by @&#8203;skatsubo in https://github.com/immich-app/immich/pull/23615
* fix(web): "select all" button in trash and permanently deleted count by @&#8203;Yonyc in https://github.com/immich-app/immich/pull/23594
* fix: fully sync local library on app restart by @&#8203;alextran1502 in https://github.com/immich-app/immich/pull/23323
* fix: check if unmetered instead of wifi by @&#8203;shenlong-tanwen in https://github.com/immich-app/immich/pull/23380
* fix(mobile): Add fade-in to asset viewer transition by @&#8203;goalie2002 in https://github.com/immich-app/immich/pull/23692
* fix(web): i18n for admin>users>sessions by @&#8203;meesfrensel in https://github.com/immich-app/immich/pull/23756
* feat: opt-in sync of deletes and restores from web to Android (beta timeline) by @&#8203;PeterOmbodi in https://github.com/immich-app/immich/pull/20473
* fix(mobile): Set dynamic height of actions row in BottomSheet by @&#8203;vitoksmile in https://github.com/immich-app/immich/pull/23755
* fix(mobile): Hide download button in asset viewer "immersive mode" by @&#8203;goalie2002 in https://github.com/immich-app/immich/pull/23720
* fix(mobile): sync album and asset activity state when add/remove asset level activity by @&#8203;idubnori in https://github.com/immich-app/immich/pull/23484
* fix(server): properly handle HEAD requests to SSR paths by @&#8203;dav-wolff in https://github.com/immich-app/immich/pull/23788
* fix(web): make sliding window cover all visible space to show small number of assets by @&#8203;meesfrensel in https://github.com/immich-app/immich/pull/23796
* refactor: shared links modals by @&#8203;danieldietzler in https://github.com/immich-app/immich/pull/23803
* chore: bump background_downloader by @&#8203;shenlong-tanwen in https://github.com/immich-app/immich/pull/23839
* fix(server): include the previous year in memories for January 1, 2, 3 by @&#8203;skatsubo in https://github.com/immich-app/immich/pull/23832
* fix: timeline scroll after navigate by @&#8203;danieldietzler in https://github.com/immich-app/immich/pull/23664
* fix: prefer filename from body over path in mime validation by @&#8203;shenlong-tanwen in https://github.com/immich-app/immich/pull/23810
* fix(web): keep album timeline when selecting cover by @&#8203;roadev in https://github.com/immich-app/immich/pull/23819
* fix: word wrap on custom link preview by @&#8203;100daysummer in https://github.com/immich-app/immich/pull/23942
* fix(mobile): delete from device warning shows incorrectly by @&#8203;YarosMallorca in https://github.com/immich-app/immich/pull/23935
* fix: deep link to last asset by @&#8203;midzelis in https://github.com/immich-app/immich/pull/23920
* fix: null dereference when canceling bucket in album by @&#8203;midzelis in https://github.com/immich-app/immich/pull/23924
* fix: incorrect header height calculation in estimated month height by @&#8203;midzelis in https://github.com/immich-app/immich/pull/23923
* chore: update drift by @&#8203;alextran1502 in https://github.com/immich-app/immich/pull/23877
* chore: reset remote sync on app update by @&#8203;shenlong-tanwen in https://github.com/immich-app/immich/pull/23969
* fix(server): copy relevant panorama tags to preview image by @&#8203;meesfrensel in https://github.com/immich-app/immich/pull/23953
* fix: unarchive action doesn't update archive page by @&#8203;midzelis in https://github.com/immich-app/immich/pull/23987

##### 📚 Documentation
* chore: update config.json example by @&#8203;bo0tzz in https://github.com/immich-app/immich/pull/23471
* fix(docs): bump docs for PG versions by @&#8203;mmomjian in https://github.com/immich-app/immich/pull/23714
* feat: endpoint descriptions by @&#8203;jrasm91 in https://github.com/immich-app/immich/pull/23813
* feat: endpoint versioning by @&#8203;jrasm91 in https://github.com/immich-app/immich/pull/23858
* chore: include link to discord server when referencing contribution channel by @&#8203;Hritik14 in https://github.com/immich-app/immich/pull/23728
* fix(docs): update Readme links by @&#8203;mmomjian in https://github.com/immich-app/immich/pull/23959

##### 🌐 Translations
* chore(web): update translations by @&#8203;weblate in https://github.com/immich-app/immich/pull/23449

##### New Contributors
* @&#8203;FreeWind6 made their first contribution in https://github.com/immich-app/immich/pull/23627
* @&#8203;Yonyc made their first contribution in https://github.com/immich-app/immich/pull/23594
* @&#8203;fabianbees made their first contribution in https://github.com/immich-app/immich/pull/23601
* @&#8203;exelix11 made their first contribution in https://github.com/immich-app/immich/pull/22653
* @&#8203;AlexanderS made their first contribution in https://github.com/immich-app/immich/pull/23838
* @&#8203;Hritik14 made their first contribution in https://github.com/immich-app/immich/pull/23728
* @&#8203;roadev made their first contribution in https://github.com/immich-app/immich/pull/23819
* @&#8203;zebrapurring made their first contribution in https://github.com/immich-app/immich/pull/22145
* @&#8203;happychriss made their first contribution in https://github.com/immich-app/immich/pull/23608
* @&#8203;insertish made their first contribution in https://github.com/immich-app/immich/pull/23948
* @&#8203;100daysummer made their first contribution in https://github.com/immich-app/immich/pull/23942
* @&#8203;kprkpr made their first contribution in https://github.com/immich-app/immich/pull/23710

**Full Changelog**: <https://github.com/immich-app/immich/compare/v2.2.3...v2.3.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41LjAiLCJ1cGRhdGVkSW5WZXIiOiI0Mi41LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImltYWdlIl19-->

Reviewed-on: #2112
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-11-24 17:53:25 +00:00

261 lines
7.5 KiB
YAML

immich:
controllers:
main:
type: deployment
replicas: 1
strategy: Recreate
revisionHistoryLimit: 3
containers:
main:
image:
repository: ghcr.io/immich-app/immich-server
tag: v2.3.1
pullPolicy: IfNotPresent
env:
- name: TZ
value: US/Central
- name: IMMICH_TELEMETRY_INCLUDE
value: all
- name: IMMICH_CONFIG_FILE
value: /config/immich.json
- name: IMMICH_MACHINE_LEARNING_URL
value: http://immich-machine-learning.immich:3003
- name: REDIS_HOSTNAME
value: redis-replication-immich-master
- name: DB_VECTOR_EXTENSION
value: vectorchord
- name: DB_HOSTNAME
valueFrom:
secretKeyRef:
name: immich-postgresql-17-cluster-app
key: host
- name: DB_DATABASE_NAME
valueFrom:
secretKeyRef:
name: immich-postgresql-17-cluster-app
key: dbname
- name: DB_PORT
valueFrom:
secretKeyRef:
name: immich-postgresql-17-cluster-app
key: port
- name: DB_USERNAME
valueFrom:
secretKeyRef:
name: immich-postgresql-17-cluster-app
key: user
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: immich-postgresql-17-cluster-app
key: password
probes:
liveness:
enabled: true
custom: true
spec:
httpGet:
path: /api/server/ping
port: 2283
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
readiness:
enabled: true
custom: true
spec:
httpGet:
path: /api/server/ping
port: 2283
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
startup:
enabled: true
custom: true
spec:
httpGet:
path: /api/server/ping
port: 2283
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 30
resources:
limits:
gpu.intel.com/i915: 1
requests:
gpu.intel.com/i915: 1
cpu: 10m
memory: 512Mi
machine-learning:
type: deployment
replicas: 1
strategy: Recreate
revisionHistoryLimit: 3
containers:
main:
image:
repository: ghcr.io/immich-app/immich-machine-learning
tag: v2.3.1
pullPolicy: IfNotPresent
env:
- name: TRANSFORMERS_CACHE
value: /cache
probes:
liveness:
enabled: true
custom: true
spec:
httpGet:
path: /ping
port: 3003
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
readiness:
enabled: true
custom: true
spec:
httpGet:
path: /ping
port: 3003
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
startup:
enabled: false
resources:
limits:
gpu.intel.com/i915: 1
requests:
gpu.intel.com/i915: 1
cpu: 10m
memory: 256Mi
service:
main:
controller: main
ports:
http:
port: 2283
targetPort: 2283
protocol: TCP
metrics-api:
port: 8081
targetPort: 8081
protocol: TCP
metrics-ms:
port: 8082
targetPort: 8082
protocol: TCP
machine-learning:
controller: machine-learning
ports:
http:
port: 3003
targetPort: 3003
protocol: TCP
persistence:
config:
enabled: true
type: secret
name: immich-config-secret
advancedMounts:
main:
main:
- path: /config/immich.json
readOnly: true
mountPropagation: None
subPath: immich.json
cache:
storageClass: ceph-block
accessMode: ReadWriteOnce
size: 10Gi
retain: true
advancedMounts:
machine-learning:
main:
- path: /cache
readOnly: false
media:
existingClaim: immich-nfs-storage
advancedMounts:
main:
main:
- path: /usr/src/app/upload
readOnly: false
postgres-17-cluster:
mode: recovery
cluster:
image:
repository: ghcr.io/tensorchord/cloudnative-vectorchord
tag: 17.5-0.4.3
storage:
storageClass: local-path
walStorage:
storageClass: local-path
monitoring:
enabled: true
prometheusRule:
enabled: true
postgresql:
parameters:
shared_buffers: 256MB
shared_preload_libraries:
- "vchord.so"
initdb:
postInitSQL:
- CREATE EXTENSION IF NOT EXISTS "vector";
- CREATE EXTENSION IF NOT EXISTS "vchord" CASCADE;
- CREATE EXTENSION IF NOT EXISTS "cube" CASCADE;
- CREATE EXTENSION IF NOT EXISTS "earthdistance" CASCADE;
recovery:
method: objectStore
objectStore:
destinationPath: s3://postgres-backups/cl01tl/immich/immich-postgresql-17-cluster
endpointURL: http://garage-main.garage:3900
index: 1
endpointCredentials: immich-postgresql-17-cluster-backup-secret-garage
backup:
objectStore:
- name: external
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/immich/immich-postgresql-17-cluster
index: 2
retentionPolicy: "30d"
isWALArchiver: false
- name: garage-local
destinationPath: s3://postgres-backups/cl01tl/immich/immich-postgresql-17-cluster
index: 1
endpointURL: http://garage-main.garage:3900
endpointCredentials: immich-postgresql-17-cluster-backup-secret-garage
endpointCredentialsIncludeRegion: true
retentionPolicy: "3d"
isWALArchiver: true
# - name: garage-remote
# destinationPath: s3://postgres-backups/cl01tl/immich/immich-postgresql-17-cluster
# index: 1
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
# endpointCredentials: immich-postgresql-17-cluster-backup-secret-garage
# retentionPolicy: "30d"
# data:
# compression: bzip2
# jobs: 2
scheduledBackups:
- name: daily-backup
suspend: false
schedule: "0 0 0 * * *"
backupName: external
- name: live-backup
suspend: false
immediate: true
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: false
# schedule: "0 4 4 * * SAT"
# backupName: garage-remote