Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(container): update immich group to v1.120.1 (minor) #1602

Merged
merged 2 commits into from
Nov 9, 2024

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Oct 12, 2024

This PR contains the following updates:

Package Update Change
ghcr.io/immich-app/immich-machine-learning minor v1.116.2 -> v1.120.1
ghcr.io/immich-app/immich-server minor v1.116.2 -> v1.120.1

Release Notes

immich-app/immich (ghcr.io/immich-app/immich-server)

v1.120.1

Compare Source

v1.120.1

This release addresses the issues below

What's Changed
🐛 Bug fixes
📚 Documentation
New Contributors

Full Changelog: immich-app/immich@v1.120.0...v1.120.1

v1.120.0: - 50.000 Stars Release

Compare Source

v1.120.0 - 50.000 Stars Release

Welcome to release v1.120.0 of Immich. We've reached 50.000 stars on GitHub. Thank you for your love, support, and contributions to the project.

This release introduces a new built-in automatic database dump feature as well as bug fixes and enhancements. Some of the highlights include:

  • Built-in automatic database backups
  • Timeline location indicator on scrolling
  • The web is now on Svelte 5
  • Faster CPU transcoding for HDR videos
  • Notable fix: Slow server start-up time on some systems
Built-in automatic database backups

This release introduces a mechanism that automatically creates a database dump and is enabled by default. It will run at 2 AM server time and keep the last 14 backups, all of which are configurable. You can find the settings in Administration > Settings > Backup Settings

image

The database zip files are placed at <UPLOAD_LOCATION>/backups.

Below is an example of a database backup size for a library with 80_000 assets.

image

Currently, restores must be done manually, and instructions can be found in the documentation

Timeline location indicator on scrolling

The timeline on the web will now show the Month/Year information while scrolling to better indicate the viewport context.

Screen.Recording.2024-11-06.at.08.46.53.mov
Faster CPU transcoding for HDR videos

Immich now uses a faster tone-mapping implementation developed by the Jellyfin team to map colors from HDR to SDR. During testing, overall transcoding speed improved by as much as 69% for a 4K target resolution. The exact improvement will depend on hardware, source video, and transcoding settings.

[!NOTE]
Note for third-party Immich distributions: as this filter only exists in jellyfin-ffmpeg, please ensure you use this build instead of a standard FFmpeg build.

Support Immich

If you find the project helpful, you can support Immich by purchasing a product key at https://buy.immich.app.

Cheers! 🍻


What's Changed
🚀 Features
🌟 Enhancements
🐛 Bug fixes
📚 Documentation
🌐 Translations
New Contributors

Full Changelog: immich-app/immich@v1.119.1...v1.120.0

v1.119.1

Compare Source

v1.119.1

This patch release adds job options to the search view context menu when bulk-selecting assets.

image

What's Changed
🌟 Enhancements
📚 Documentation
New Contributors

Full Changelog: immich-app/immich@v1.119.0...v1.119.1

v1.119.0

Compare Source

v1.119.0

[!CAUTION]

The env variable for the host binding was erroneously named HOST instead of IMMICH_HOST (which is how it was listed in the docs). This has been corrected in this release.
If you were using the HOST env var in your setup before, please update it to IMMICH_HOST.

If you are using the built-in Prometheus endpoint for monitoring, please read on. If not, you can ignore this section.

The following env variables have been removed:

  • IMMICH_METRICS
  • IMMICH_API_METRICS
  • IMMICH_HOST_METRICS
  • IMMICH_IO_METRICS
  • IMMICH_JOB_METRICS

Use IMMICH_TELEMETRY_INCLUDE / IMMICH_TELEMETRY_EXCLUDE instead.

Examples:

-- IMMICH_METRICS=true
++ IMMICH_TELEMETRY_INCLUDE=all
-- IMMICH_METRICS=true
-- IMMICH_HOST_METRICS=false
++ IMMICH_TELEMETRY_INCLUDE=all
++ IMMICH_TELEMETRY_EXCLUDE=host
-- IMMICH_API_METRICS=true
-- IMMICH_HOST_METRICS=true
++ IMMICH_TELEMETRY_INCLUDE=api,host

Welcome to release v1.119.0 of Immich. This release focuses on fixing issues surrounding video encoding and thumbnail generation for a variety of old and new formats, along with minor improvements across the app. Some of the highlights below:

  • Create new OAuth users without passwords
  • Debounce email notifications for album changes
  • Improve mobile app layout on tablets
  • VAAPI hardware decoding
  • Notable fix: Face Detection using excessive RAM with OpenVINO
  • Notable fix: transcodes not playing in the mobile app in certain situations
VAAPI hardware decoding

Prior to this release, Immich only used VAAPI for video encoding; it still used the CPU for decoding and tone-mapping. This release adds end-to-end acceleration for VAAPI, making transcoding much faster with lower CPU utilization. With this addition, every supported acceleration API now has end-to-end acceleration in Immich.

If you use VAAPI hardware acceleration, you can enable hardware decoding in the transcoding settings to take advantage of this change.

Transcoding fix for mobile

When the source video is Dolby Vision, transcodes sometimes either didn't play in the mobile app, or only the audio was played. In particular, this meant that many videos captured on iOS could not be viewed on Android.

This issue has been fixed. However, existing transcodes of Dolby Vision videos created using Immich 1.114.0 - 1.118.2 will still have the issue and will need to be re-transcoded for correct playback in these cases.

To re-transcode affected videos, you can either select them in the web app and choose the Refresh encoded videos option or go to the Job Status page and click All next to Transcode Videos.

Note: you only need to do this if you encounter playback issues for these videos.

Support Immich

If you find the project helpful, you can support Immich by purchasing a product key at https://buy.immich.app.

Cheers! 🍻


What's Changed
🚨 Breaking Changes
🚀 Features
🌟 Enhancements
🐛 Bug fixes
📚 Documentation
🌐 Translations
New Contributors

Full Changelog: immich-app/immich@v1.118.2...v1.119.0

v1.118.2

Compare Source

[!WARNING]
Version v1.118.0 contains breaking changes. Read about them here.

Hotfixes

This release fixes images from Whatsapp failing to be processed, as well as an issue with video thumbnail generation failing in some cases. It also includes the FFmpeg 6.0 -> 7.0 upgrade that was scheduled for the next release, but oh well 🙃

What's Changed

🐛 Bug fixes

New Contributors

Full Changelog: immich-app/immich@v1.118.1...v1.118.2

v1.118.1

Compare Source

[!WARNING]
Version v1.118.0 contains breaking changes. Read about them here.

Hotfixes

This release fixes some bugs introduced in version v1.118.0, specifically an issue with Google OAuth and mobile.

What's Changed

🐛 Bug fixes
📚 Documentation

New Contributors

Full Changelog: immich-app/immich@v1.118.0...v1.118.1

v1.118.0

Compare Source

v1.118.0

Welcome to release v1.118.0 of Immich. This version comes with several breaking changes, and also improvements to the mobile app UI and UX, a new documentation home page, as well as bug fixes and enhancements across the app. We hope you enjoy this release!

[!WARNING]

Breaking changes

This release includes the following breaking changes:

  1. Port alignment
  2. Remove deprecated API endpoints
  3. Remove deprecated start.sh arguments
1. Port alignment

We aligned the internal port of the immich-server to be similar to the binding port. Please make the following change to your docker-compose.yml file under the immich-server section. Reverse proxies using port 3001 also need to be updated to use port 2283.

services:
  immich-server:
    container_name: immich_server
    ...
    ports:
-    - 2283:3001
+    - 2283:2283
    ...
2. Remove deprecated API endpoints

The following endpoints were previously deprecated and have been removed, if you are a community project maintainer and using one of the endpoints below, please make sure to make changes to your project:

  • /api/server-info/* has been removed. Use /api/server/* instead.
  • /api/people/:id/assets has been removed. Use /api/search/metadata instead.

[!NOTE]
This includes /api/server-info/ping, /api/server-info/version, /api/server-features, /api/server-info/config, /api/server-info/statistics, and others.

3. Remove deprecated start.sh arguments

The following docker commands have been removed:

  • start.sh immich
  • start.sh microservices

Follow the steps below to align docker-compose.yml with the default setup.

[!NOTE]
These steps are only required if you still have the immich-microservices section in your docker-compose.yml or didn't follow the previous instructions to remove the command section. If you don't have the mentioned content below, you can ignore this

1. Update docker-compose.yml

Remove the command line from immich-server and the entire immich-microservices service section as shown below.

services:
  immich-server:
    container_name: immich_server
    ...
    :
-   command: [ "start.sh", "immich" ]
    ...
    
-  immich-microservices:
-    container_name: immich_microservices
-    ...
-    :
-    command: [ "start.sh", "microservices" ]
-    ...
2. Remove the running immich-microservices container

Run docker compose down --remove-orphans after updating docker-compose.yml to remove the old immich-microservices container.

Highlights

Some of the highlights for this release include the following:

  • Mobile UI/UX improvement
  • Option to refresh face detection
  • Color filters for editing photos
  • Timezone improvements
  • Deprecated release notes section
  • Better JPEG compression
  • Multi-GPU support for ML
Mobile UI/UX improvement

Thank you all for the great feedback from the dicussion we made a month ago about the proposed changes to the mobile app layout. We hope the following changes will provide more fluid experience when browing and managing your photos and videos.

Navigation bar

Photos and albums are the two most used pages. To make them more accessible, we replaced the Sharing page with a new Albums page where you can find all of the album related features and functions.

image
Albums page

This new page allows users to quickly view, sort, search, filter, create, and manage albums.

image
Library page

The library page now includes quick access buttons to various views, including

  • Favorites
  • Archived
  • Shared links
  • Trash
  • People
  • Places
  • Device albums
  • Partner sharing

image image

Search page

Many of the items that were previously on this page have been moved to the Library page, mentioned above. As a result, the search page is less cluttered and includes quick access search chips and queries. Also, clicking on the search navbar item a second time will focus on the search bar and open the keyboard for easy access.

image
Color filters for editing photos

This release introduces colors filter option in the edit menu on the mobile app. You can apply a set of presets colors to your photo. Thanks @​Yuvi-raj-P for your contribution.

filter-page
Timezone improvements

Images without timezones could previously show up incorrectly in the timeline if the server had a timezone (TZ=...) set. This has been fixed and can be corrected by running metadata extraction on all assets.

Deprecated release notes section

Future releases will now include a "Deprecated" section in the release notes, including details of API endpoints and other changes that will become breaking changes in a future release. Moving forward, we plan to use this section of the release notes as our primary communication method for these types of changes.

Refresh face detection

Assets now have a Refresh faces option to update the set of detected faces based on the current face detection threshold. Likewise, there is a new Refresh button for Face Detection in the Jobs page that does the same for all assets.

Importantly, this does not clear all recognized people like the All button (renamed to Reset). If you find that a different detection threshold works better for your library and want to apply that new value to existing assets, Refresh will simply add or remove faces to apply this change.

It will only ever delete faces detected through machine learning, not EXIF. Speaking of EXIF-sourced faces, they can now be used to recognize detected faces as a result of this feature. This means the facial recognition process can share the same people listed in face metadata instead of duplicating them.

Better JPEG compression

Immich now uses Jpegli, a new library leveraging the advancements of JPEG XL to shrink JPEG file size at the same (or higher) quality. This change narrows the gap between JPEG and WebP compression considerably, especially at high quality.

Multi-GPU support for ML

It is now possible for a single instance of the machine learning service to use more than one GPU. Previously, this required several services and a load balancer in front. See the documentation for instructions.

Support Immich

If you find the project helpful, you can support Immich by purchasing a product key at https://buy.immich.app.

Cheers! 🍻


What's Changed

🚨 Breaking Changes
🚀 Features
🌟 Enhancements
🐛 Bug fixes
📚 Documentation
🌐 Translations

New Contributors

Full Changelog: immich-app/immich@v1.117.0...v1.118.0

v1.117.0

Compare Source

v1.117.0

[!WARNING]

Breaking changes

The image section of the config file structure for thumbnails and previews has changed. If you use a config file and set the image settings to custom values, these will be ignored until updated to the new structure.

…
"image": {
-  “previewFormat”: “jpeg”,
-  “previewSize”: 1440,
-  “quality”: 80,
-  “thumbnailFormat”: “webp”,
-  “thumbnailSize”: 250,
+  "thumbnail": {
+     "format": "webp",
+     "size": 250,
+     "quality": 80
+   },
+   "preview": {
+     "format": "jpeg",
+     "size": 1440,
+     "quality": 80
+   },
    "colorspace": "p3",
    "extractEmbedded": false
  }
…

Highlights

Welcome to release v1.117.0 of Immich. This release continues to bring bugfixes and additional enhancements to the app. Let's go over some of the highlights below:

  • Better folder checks
  • Download notifications (mobile)
  • Support and feedback links (web)
  • Upgrade history
  • Asset thumbnail improvements
Better folder checks

This release fixes a few more issues with the .immich related checks.

  • Ignore errors when .immich already exists, but mount checks aren't enabled
  • Add a docs page about System Integrity
  • Add an env option to skip mount checks (IMMICH_IGNORE_MOUNT_CHECK_ERRORS=true)
Download notifications (mobile)

Downloads now show their progress and can be canceled

Support and feedback links (web)

Links have been added to the Immich web application to help users more easily find our documentation, source code, discord, etc. Also, third party packages have the option to additionally include their own links.

image

image

Upgrade history

Clicking on the server build number on the web will now also show upgrade history, in addition to other build information.

In the future we may look at combining this information with the new support/help modal.

Light Dark
image image
Asset thumbnail improvements
Combined jobs

Thumbnails are critical to keep Immich feeling snappy. We currently generate a "preview" (large), a "thumbnail" (small), and a "thumbhash" (very small) for each asset. Prior to this release each version for each asset was a separate job. Now they have been combined into a single job, per asset. This makes the jobs page much more accurate and useful. It also means thumbnails generate faster, and use less system resources (see below).

thumbnail-generation-memory-usage

In order from left to right:

  • Previews generation start on old version
  • Previews generation completed old version (starting thumbnails)
  • Thumbnail generation finished old version
  • Thumbnail generation started on new version
  • Thumbnail generation finished on new version
Common settings

Previews and thumbnails can now both set desired format, resolution, and quality settings.

image-settings

Support Immich

If you find the project helpful, you can support Immich by purchasing a product key at https://buy.immich.app.

Cheers! 🍻


What's Changed

🚀 Features
🌟 Enhancements
🐛 Bug fixes
📚 Documentation
🌐 Translations

Configuration

📅 Schedule: Branch creation - "on saturday" (UTC), Automerge - At any time (no schedule defined).

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

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

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


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@github-actions github-actions bot added the area/kubernetes Changes made in the kubernetes directory label Oct 12, 2024
Copy link

github-actions bot commented Oct 12, 2024

--- kubernetes/main/apps/default/immich/app Kustomization: flux-system/immich HelmRelease: default/immich

+++ kubernetes/main/apps/default/immich/app Kustomization: flux-system/immich HelmRelease: default/immich

@@ -41,33 +41,33 @@

               TZ: America/Toronto
             envFrom:
             - secretRef:
                 name: immich-secret
             image:
               repository: ghcr.io/immich-app/immich-server
-              tag: v1.116.2@sha256:effd3d44202964c5f53af85e0fd0f2ca5287c989a43c4d55ba71133eb148bed3
+              tag: v1.120.1@sha256:4193f3cc99bb4d99f53007f07d45e2efbcd531f4e81a765470b2cce433f33131
             probes:
               liveness:
                 custom: true
                 enabled: true
                 spec:
                   failureThreshold: 3
                   httpGet:
-                    path: /server-info/ping
-                    port: 3001
+                    path: /api/server/ping
+                    port: 2283
                   initialDelaySeconds: 0
                   periodSeconds: 10
                   timeoutSeconds: 1
               readiness:
                 custom: true
                 enabled: true
                 spec:
                   failureThreshold: 3
                   httpGet:
-                    path: /server-info/ping
-                    port: 3001
+                    path: /api/server/ping
+                    port: 2283
                   initialDelaySeconds: 0
                   periodSeconds: 10
                   timeoutSeconds: 1
               startup:
                 enabled: false
             resources:
@@ -94,13 +94,13 @@

         containers:
           main:
             env:
               TZ: America/Toronto
             image:
               repository: ghcr.io/immich-app/immich-machine-learning
-              tag: v1.116.2@sha256:60d6d3b7090c664b76adabd00c06674e25c5a91419e374bff4e7cf2ee5dd920a
+              tag: v1.120.1@sha256:0a5d8d75f026342a56e1065613e565ec40a05f4042dc7fead1dcfd66d539fef3
             probes:
               liveness:
                 custom: true
                 enabled: true
                 spec:
                   failureThreshold: 3
@@ -144,16 +144,16 @@

           external-dns.alpha.kubernetes.io/target: external...PLACEHOLDER..
           gethomepage.dev/description: Photos
           gethomepage.dev/enabled: 'true'
           gethomepage.dev/group: Media
           gethomepage.dev/icon: immich.svg
           gethomepage.dev/name: Immich
-          gethomepage.dev/siteMonitor: http://{{ .Release.Name }}.default.svc.cluster.local:3001
+          gethomepage.dev/siteMonitor: http://{{ .Release.Name }}.default.svc.cluster.local:2283
           gethomepage.dev/widget.key: '{{ `{{HOMEPAGE_VAR_IMMICH_API_KEY}}` }}'
           gethomepage.dev/widget.type: immich
-          gethomepage.dev/widget.url: http://{{ .Release.Name }}.default.svc.cluster.local:3001
+          gethomepage.dev/widget.url: http://{{ .Release.Name }}.default.svc.cluster.local:2283
           nginx.ingress.kubernetes.io/proxy-body-size: '0'
         className: external
         hosts:
         - host: immich...PLACEHOLDER..
           paths:
           - path: /
@@ -195,13 +195,13 @@

         type: emptyDir
     service:
       immich:
         controller: immich
         ports:
           http:
-            port: 3001
+            port: 2283
             primary: true
         primary: true
       machine-learning:
         controller: machine-learning
         nameOverride: machine-learning
         ports:

Copy link

github-actions bot commented Oct 12, 2024

--- HelmRelease: default/immich Service: default/immich

+++ HelmRelease: default/immich Service: default/immich

@@ -8,14 +8,14 @@

     app.kubernetes.io/managed-by: Helm
     app.kubernetes.io/name: immich
     app.kubernetes.io/service: immich
 spec:
   type: ClusterIP
   ports:
-  - port: 3001
-    targetPort: 3001
+  - port: 2283
+    targetPort: 2283
     protocol: TCP
     name: http
   selector:
     app.kubernetes.io/component: immich
     app.kubernetes.io/instance: immich
     app.kubernetes.io/name: immich
--- HelmRelease: default/immich Deployment: default/immich

+++ HelmRelease: default/immich Deployment: default/immich

@@ -53,27 +53,27 @@

           value: http://immich-machine-learning.default.svc.cluster.local:3003
         - name: TZ
           value: America/Toronto
         envFrom:
         - secretRef:
             name: immich-secret
-        image: ghcr.io/immich-app/immich-server:v1.116.2@sha256:effd3d44202964c5f53af85e0fd0f2ca5287c989a43c4d55ba71133eb148bed3
+        image: ghcr.io/immich-app/immich-server:v1.120.1@sha256:4193f3cc99bb4d99f53007f07d45e2efbcd531f4e81a765470b2cce433f33131
         livenessProbe:
           failureThreshold: 3
           httpGet:
-            path: /server-info/ping
-            port: 3001
+            path: /api/server/ping
+            port: 2283
           initialDelaySeconds: 0
           periodSeconds: 10
           timeoutSeconds: 1
         name: main
         readinessProbe:
           failureThreshold: 3
           httpGet:
-            path: /server-info/ping
-            port: 3001
+            path: /api/server/ping
+            port: 2283
           initialDelaySeconds: 0
           periodSeconds: 10
           timeoutSeconds: 1
         resources:
           limits:
             memory: 4Gi
--- HelmRelease: default/immich Deployment: default/immich-machine-learning

+++ HelmRelease: default/immich Deployment: default/immich-machine-learning

@@ -40,13 +40,13 @@

       hostPID: false
       dnsPolicy: ClusterFirst
       containers:
       - env:
         - name: TZ
           value: America/Toronto
-        image: ghcr.io/immich-app/immich-machine-learning:v1.116.2@sha256:60d6d3b7090c664b76adabd00c06674e25c5a91419e374bff4e7cf2ee5dd920a
+        image: ghcr.io/immich-app/immich-machine-learning:v1.120.1@sha256:0a5d8d75f026342a56e1065613e565ec40a05f4042dc7fead1dcfd66d539fef3
         livenessProbe:
           failureThreshold: 3
           httpGet:
             path: /ping
             port: 3003
           initialDelaySeconds: 0
--- HelmRelease: default/immich Ingress: default/immich

+++ HelmRelease: default/immich Ingress: default/immich

@@ -11,16 +11,16 @@

     external-dns.alpha.kubernetes.io/target: external...PLACEHOLDER..
     gethomepage.dev/description: Photos
     gethomepage.dev/enabled: 'true'
     gethomepage.dev/group: Media
     gethomepage.dev/icon: immich.svg
     gethomepage.dev/name: Immich
-    gethomepage.dev/siteMonitor: http://immich.default.svc.cluster.local:3001
+    gethomepage.dev/siteMonitor: http://immich.default.svc.cluster.local:2283
     gethomepage.dev/widget.key: '{{HOMEPAGE_VAR_IMMICH_API_KEY}}'
     gethomepage.dev/widget.type: immich
-    gethomepage.dev/widget.url: http://immich.default.svc.cluster.local:3001
+    gethomepage.dev/widget.url: http://immich.default.svc.cluster.local:2283
     nginx.ingress.kubernetes.io/proxy-body-size: '0'
 spec:
   ingressClassName: external
   tls:
   - hosts:
     - immich...PLACEHOLDER..
@@ -31,8 +31,8 @@

       - path: /
         pathType: Prefix
         backend:
           service:
             name: immich
             port:
-              number: 3001
+              number: 2283
 

@renovate renovate bot changed the title feat(container): update immich group to v1.117.0 (minor) feat(container): update immich group to v1.118.0 (minor) Oct 15, 2024
@renovate renovate bot changed the title feat(container): update immich group to v1.118.0 (minor) feat(container): update immich group to v1.118.1 (minor) Oct 15, 2024
@renovate renovate bot changed the title feat(container): update immich group to v1.118.1 (minor) feat(container): update immich group to v1.118.2 (minor) Oct 16, 2024
@renovate renovate bot changed the title feat(container): update immich group to v1.118.2 (minor) feat(container): update immich group to v1.118.2 (minor) - autoclosed Oct 27, 2024
@renovate renovate bot closed this Oct 27, 2024
@renovate renovate bot deleted the renovate/immich branch October 27, 2024 17:00
@renovate renovate bot restored the renovate/immich branch October 27, 2024 18:55
@renovate renovate bot changed the title feat(container): update immich group to v1.118.2 (minor) - autoclosed feat(container): update immich group to v1.118.2 (minor) Oct 27, 2024
@renovate renovate bot reopened this Oct 27, 2024
@renovate renovate bot changed the title feat(container): update immich group to v1.118.2 (minor) feat(container): update immich group to v1.119.0 (minor) Oct 28, 2024
@renovate renovate bot changed the title feat(container): update immich group to v1.119.0 (minor) feat(container): update immich group to v1.119.1 (minor) Oct 29, 2024
@renovate renovate bot changed the title feat(container): update immich group to v1.119.1 (minor) feat(container): update immich group to v1.120.0 (minor) Nov 6, 2024
@renovate renovate bot changed the title feat(container): update immich group to v1.120.0 (minor) feat(container): update immich group to v1.120.1 (minor) Nov 7, 2024
@qlonik qlonik merged commit 3255f02 into main Nov 9, 2024
5 of 10 checks passed
@qlonik qlonik deleted the renovate/immich branch November 9, 2024 18:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/kubernetes Changes made in the kubernetes directory renovate/container type/minor
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant