This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/immich-app/immich-machine-learning](https://github.com/immich-app/immich) | minor | `v2.0.1` -> `v2.1.0` | --- ### Release Notes <details> <summary>immich-app/immich (ghcr.io/immich-app/immich-machine-learning)</summary> ### [`v2.1.0`](https://github.com/immich-app/immich/releases/tag/v2.1.0) [Compare Source](https://github.com/immich-app/immich/compare/v2.0.1...v2.1.0) ### v2.1.0 Welcome to release `v2.1.0` of Immich! It’s been about 2 weeks since our [stable release](https://immich.app/blog/stable-release) 🎉 and the celebratory [Retro DVD](https://immich.store/products/immich-retro) 📀, which many of you are starting to receive. For those outside the US still waiting for theirs, we're currently awaiting a new batch of DVDs. Hopefully, those start shipping early next week at the latest. We’d like to take a moment to thank everyone for the support, kind words, and otherwise positive feedback. It’s been great to hear, and it means more to us than you know ♥️. #### Highlights This release contains mostly bug fixes, with a few minor enhancements. Here are some of the highlights: - Improved slideshow shuffle order (web) - Edit seconds and milliseconds (web) - Upload to stack (web) - Local album event notifications (web) - Notable fix: mobile search page scrolls back to the top As always, this release also contains the latest [translations](https://hosted.weblate.org/projects/immich/immich/). ##### Improved slideshow shuffle order (web) This release improves on the algorithm used to implement the `Shuffle` order for the slideshow feature on the web. You should now see a better distribution of photos (fewer repeats). <img width="500" alt="image" src="https://github.com/user-attachments/assets/d1d3a3de-4814-49d5-a4aa-9cf9b3be0fff" /> ##### Edit seconds and milliseconds (web) The change date modal on the web now supports the option to specify seconds and milliseconds. <img width="500" alt="image" src="https://github.com/user-attachments/assets/3f6bd91c-b61d-4f53-9cec-cd8480e6acfd" /> ##### Upload to stack (web) For stacks, a new menu option has been added: `Add upload to stack`. This action will open a file picker, allowing you to upload directly to the stack. <img width="500" alt="image" src="https://github.com/user-attachments/assets/4a19edd4-0b6d-457d-96ae-f93ef7ffec72" /> ##### Local album event notifications (web) This release adds a new in-app notification type: `Shared Album Invitation` and `Shared Album Update`. When you are invited to a shared album, and when a new asset is added to it, all users will receive a notification about the update. You can click on the notification to go directly to the mentioned album. The foundation for in-app (web) notifications was introduced in [#​17701](https://github.com/immich-app/immich/issues/17701), and we’re still working on expanding it to include more event types, with the hope of eventually incorporating it into the mobile app as a push notification. <img width="500" alt="image" src="https://github.com/user-attachments/assets/db0735f2-6ef6-48a7-86bc-2fc48aabaf02" /> ##### Notable fix: mobile search page scrolls back to the top The search page on mobile uses “infinite scroll”, which means new chunks of assets are automatically loaded in as you scroll down the page. However, prior to this release, the scroll position would reset to the top whenever new chunks were added, resulting in a frustrating user experience. This has been fixed, and the scroll position no longer resets. #### Support Immich <p align="center"> <img src="https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExbjY2eWc5Y2F0ZW56MmR4aWE0dDhzZXlidXRmYWZyajl1bWZidXZpcyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/87CKDqErVfMqY/giphy.gif" width="450" title="SUPPORT THE PROJECT!"> </p> If you find the project helpful, you can support Immich by purchasing a product key at <https://buy.immich.app> or our merchandise at <https://immich.store> #### What's Changed ##### 🌟 Enhancements - feat(server): improve checkAlbumAccess query performance by [@​skatsubo](https://github.com/skatsubo) in [#​22467](https://github.com/immich-app/immich/pull/22467) - fix(web): do not notify on patch releases by [@​jrasm91](https://github.com/jrasm91) in [#​22591](https://github.com/immich-app/immich/pull/22591) - fix(web): Uniform random distribution during shuffle by [@​Pascal-So](https://github.com/Pascal-So) in [#​19902](https://github.com/immich-app/immich/pull/19902) - feat(web): seconds and milliseconds in timestamps by [@​kaziu687](https://github.com/kaziu687) in [#​20337](https://github.com/immich-app/immich/pull/20337) - feat(web): Add upload to stack action by [@​Sese-Schneider](https://github.com/Sese-Schneider) in [#​19842](https://github.com/immich-app/immich/pull/19842) - feat(server): add `immich.users.total` metric by [@​Tushar-Harsora](https://github.com/Tushar-Harsora) in [#​21780](https://github.com/immich-app/immich/pull/21780) - feat: local album events notification by [@​alextran1502](https://github.com/alextran1502) in [#​22817](https://github.com/immich-app/immich/pull/22817) ##### 🐛 Bug fixes - fix(docs): link to immich docs does not lead correctly to docs by [@​XavierDupuis](https://github.com/XavierDupuis) in [#​22687](https://github.com/immich-app/immich/pull/22687) - fix(server): fix chunking Postgres query parameters by [@​skatsubo](https://github.com/skatsubo) in [#​22684](https://github.com/immich-app/immich/pull/22684) - fix(ml): Resolve IPv6 startup crash and healthcheck failure by [@​CaptainJack2491](https://github.com/CaptainJack2491) in [#​22387](https://github.com/immich-app/immich/pull/22387) - fix(server): override reserved color metadata for video thumbnails by [@​mertalev](https://github.com/mertalev) in [#​22348](https://github.com/immich-app/immich/pull/22348) - fix(mobile): trash description cut off by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​22662](https://github.com/immich-app/immich/pull/22662) - fix(mobile): empty album description does not save by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​22649](https://github.com/immich-app/immich/pull/22649) - fix(mobile): video player using ref after disposal by [@​mertalev](https://github.com/mertalev) in [#​21843](https://github.com/immich-app/immich/pull/21843) - fix: missing responsive calculation in UserPageLayout by [@​midzelis](https://github.com/midzelis) in [#​22455](https://github.com/immich-app/immich/pull/22455) - fix: use full-size image for non-web-compatible panoramas by [@​grgergo1](https://github.com/grgergo1) in [#​20359](https://github.com/immich-app/immich/pull/20359) - fix: hide view in timeline button on local timeline by [@​bwees](https://github.com/bwees) in [#​22713](https://github.com/immich-app/immich/pull/22713) - fix: Fix issue fail to download iOS live photos by [@​CuberL](https://github.com/CuberL) in [#​22708](https://github.com/immich-app/immich/pull/22708) - fix(mobile): closing editor goes back to main page by [@​YarosMallorca](https://github.com/YarosMallorca) in [#​22647](https://github.com/immich-app/immich/pull/22647) - fix: improve the selected sidebar item text color in dark mode by [@​alextran1502](https://github.com/alextran1502) in [#​22640](https://github.com/immich-app/immich/pull/22640) - fix: promote to foreground service before starting engine by [@​shenlong-tanwen](https://github.com/shenlong-tanwen) in [#​22517](https://github.com/immich-app/immich/pull/22517) - fix: bottom sheet blank with local assets that have remote counterparts by [@​bwees](https://github.com/bwees) in [#​22743](https://github.com/immich-app/immich/pull/22743) - fix: skip local only assets in move to lock action by [@​shenlong-tanwen](https://github.com/shenlong-tanwen) in [#​22728](https://github.com/immich-app/immich/pull/22728) - fix: brief flashing when swiping from video by [@​Saschl](https://github.com/Saschl) in [#​22187](https://github.com/immich-app/immich/pull/22187) - fix: persist search page scroll offset between rebuilds by [@​shenlong-tanwen](https://github.com/shenlong-tanwen) in [#​22733](https://github.com/immich-app/immich/pull/22733) - fix: only cast to device if the asset is a RemoteAsset by [@​bwees](https://github.com/bwees) in [#​22805](https://github.com/immich-app/immich/pull/22805) - fix: ios skip posting hash response after detached from engine by [@​shenlong-tanwen](https://github.com/shenlong-tanwen) in [#​22695](https://github.com/immich-app/immich/pull/22695) - fix: shared album control permissions by [@​bwees](https://github.com/bwees) in [#​22435](https://github.com/immich-app/immich/pull/22435) - fix: show dialog before delete local action by [@​shenlong-tanwen](https://github.com/shenlong-tanwen) in [#​22280](https://github.com/immich-app/immich/pull/22280) - chore: refactor show view in timeline button by [@​bwees](https://github.com/bwees) in [#​22894](https://github.com/immich-app/immich/pull/22894) ##### 📚 Documentation - docs: update Synology install guide by [@​TDR001](https://github.com/TDR001) in [#​21996](https://github.com/immich-app/immich/pull/21996) - docs: add some external library notes by [@​jrasm91](https://github.com/jrasm91) in [#​22776](https://github.com/immich-app/immich/pull/22776) - docs: add Immich-Stack to community-projects by [@​Qhilm](https://github.com/Qhilm) in [#​21563](https://github.com/immich-app/immich/pull/21563) ##### 🌐 Translations - chore(web): update translations by [@​weblate](https://github.com/weblate) in [#​22623](https://github.com/immich-app/immich/pull/22623) #### New Contributors - [@​XavierDupuis](https://github.com/XavierDupuis) made their first contribution in [#​22687](https://github.com/immich-app/immich/pull/22687) - [@​adrianjost](https://github.com/adrianjost) made their first contribution in [#​22631](https://github.com/immich-app/immich/pull/22631) - [@​CaptainJack2491](https://github.com/CaptainJack2491) made their first contribution in [#​22387](https://github.com/immich-app/immich/pull/22387) - [@​USBAkimbo](https://github.com/USBAkimbo) made their first contribution in [#​22673](https://github.com/immich-app/immich/pull/22673) - [@​MontejoJorge](https://github.com/MontejoJorge) made their first contribution in [#​22702](https://github.com/immich-app/immich/pull/22702) - [@​diogotcorreia](https://github.com/diogotcorreia) made their first contribution in [#​21602](https://github.com/immich-app/immich/pull/21602) - [@​CuberL](https://github.com/CuberL) made their first contribution in [#​22708](https://github.com/immich-app/immich/pull/22708) - [@​TDR001](https://github.com/TDR001) made their first contribution in [#​21996](https://github.com/immich-app/immich/pull/21996) - [@​PeterDaveHello](https://github.com/PeterDaveHello) made their first contribution in [#​22703](https://github.com/immich-app/immich/pull/22703) **Full Changelog**: <https://github.com/immich-app/immich/compare/v2.0.1...v2.1.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 this update 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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzUuNCIsInVwZGF0ZWRJblZlciI6IjQxLjEzNS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJpbWFnZSJdfQ==--> Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/1764 Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net> Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
232 lines
6.4 KiB
YAML
232 lines
6.4 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.1.0
|
|
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.1.0
|
|
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-ce540ddf106d186bbddca68a/cl01tl/immich/immich-postgresql-17-cluster
|
|
index: 2
|
|
backup:
|
|
objectStore:
|
|
- name: external
|
|
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/immich/immich-postgresql-17-cluster
|
|
index: 2
|
|
retentionPolicy: "2d"
|
|
scheduledBackups:
|
|
- name: daily-backup
|
|
suspend: false
|
|
schedule: "0 0 0 * * *"
|
|
backupName: external
|