MyGit

v1.91.0

immich-app/immich

版本发布时间: 2023-12-15 23:47:56

immich-app/immich最新发布版本:v1.123.0(2024-12-18 00:41:21)

v1.91.0

Welcome to the release v1.91.0 of Immich! This release is packed with changes. Some of the highlights include:

[!IMPORTANT]

Action Required

  1. docker-compose.yml updates related to dropping Typesense
  2. Reupload certain iOS Live Photos
  3. Changes to the LOG_LEVEL environment variable

1. docker-compose.yml updates

We are removing the Typesense container and changing the database image. Below are the changes that must be made in your docker-compose.yml file.

  immich-server:
  [...]
    depends_on:
      - redis
      - database
-     - typesense
    restart: always

  immich-microservices:
  [...]
    depends_on:
      - redis
      - database
-     - typesense
    restart: always

-  typesense:
-    container_name: immich_typesense
-    image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd
-    environment:
-      - TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
-      - TYPESENSE_DATA_DIR=/data
-      # remove this to get debug messages
-      - GLOG_minloglevel=1
-    volumes:
-      - tsdata:/data
-    restart: always

[...]

  database:
    container_name: immich_postgres
-   image: postgres:14-alpine@sha256:6a0e35296341e676fe6bd8d236c72afffe2dfe3d7eb9c2405c0f3fc04500cd07
+   image: tensorchord/pgvecto-rs:pg14-v0.1.11
    env_file:
      - .env
    environment:

volumes:
  pgdata:
  model-cache:
- tsdata:

[!NOTE] Note: If you are running your database with a non-superuser role for Immich, you must enable the pgvecto.rs extension manually. You can do this by connecting to the immich database as a superuser and running:

CREATE EXTENSION vectors;

[!NOTE] See below for more details about this change, including frequently asked questions.

2. Reupload certain iOS Live Photos

iOS Live Photos uploaded after v1.89.0 that are not linked need to be deleted and re-uploaded from the mobile app.

This is a one-time action, and future live photos uploaded from the mobile app will be properly linked together.

3. Changes to the LOG_LEVEL environment variable

The LOG_LEVEL value of simple has been removed. The equivalent value is log. If you were using the value simple, the server container will not start until this is updated.

FAQ

I kept Typesense disabled because my CPU doesn’t support AVX. Does this change mean I can’t use Immich anymore?

The new vector search extension we’re using, pgvecto.rs, does not require AVX to function as it does a runtime check on the SIMD instructions your CPU supports.

Does it work with Raspberry Pi?

It is tested to work with Raspberry Pi 5, and should work with Raspberry Pi 4 as well.

Do I need to do a backup and restore for my Postgres database?

While it is recommended to regularly backup your database, this change can be done in-place just by changing the image. You do not need to do a backup and restore unless you run into a specific issue that requires it.

I have a common Postgres instance that I share with other services. What do I need to do with this change?

The Postgres image we use is regular Postgres, just with the pgvecto.rs extension. If your Postgres instance is a regular instance without any third-party extensions, then you can simply switch out the image for that instance with the tensorchord/pgvecto-rs:pg14-v0.1.11 image (changing pg14 to the major version you use - 14, 15 or 16). This is a drop-in replacement that will work without a backup and restore.

If your instance has third-party extensions, then you will need to make a docker image that installs the pgvecto.rs extension in addition to the other extensions based on their installation instructions. An example of this for the CloudNativePG Kubernetes operator can be found here.

If you use a bare-metal instance and have a Debian-based server, then you may instead follow their installation instructions and install the pgvecto.rs Debian package directly.

While trying to backup and restore my Postgres instance, I got the error type “earth” does not exist. What do I do?

This is a bug with Postgres’ earthdistance extension. You can fix the issue by following the instructions here.

Search Background

It turns out that synchronizing data between Postgres and Typesense is quite complicated. It accounts for at least an additional 1000 lines of code and, while very feature-filled, has become a burden to maintain. Also, there have been some serious memory and performance issues with Typesense, especially with large photo collections. It is lightning fast, but at the expense of large indexes that must be read from disk into memory on each restart. There have been reports of this process taking up to 30 minutes!

We effectively remove an entire class of bugs and issues by removing the need to synchronize data. Furthermore, search queries can more easily be combined with the existing database schema, like libraries, partner sharing, albums, etc. After merging #3605, we hope to be able to make significant progress around the search implementation and feature set.

In short, some of the benefits of this change include the following:


And as always, bugs are fixed, and many other improvements also come with this release.

Please consider supporting the project.

Support

If you find the project helpful, you can support Immich via the following channels.

It is a great way to let me know that you want me to continue developing and working on this project for years to come.

Changelogs

Breaking Changes 🛠

Server

Mobile

Web

Machine Learning

Documentation

Dependency updates

Other changes

New Contributors

Full Changelog: https://github.com/immich-app/immich/compare/v1.90.2...v1.91.0

相关地址:原始地址 下载(tar) 下载(zip)

1、 app-arm64-v8a-release.apk 26.17MB

2、 app-armeabi-v7a-release.apk 24.15MB

3、 app-release.apk 71.53MB

4、 app-x86_64-release.apk 27.59MB

5、 docker-compose.yml 1.9KB

6、 example.env 648B

7、 hwaccel.yml 832B

查看:2023-12-15发行的版本