nsg / immich-distribution

Experimental Immich distribution inside a snap
MIT License
25 stars 0 forks source link

Bump v1.102.0 #173

Closed github-actions[bot] closed 5 months ago

github-actions[bot] commented 5 months ago

This PR bumps the version from v1.101.0 to v1.102.0. Please review the changes and merge this PR if everything looks good.

Upstream release notes

Monitored upstream files

Error, server/src/infra/migrations do not exists

diff --git a/server/Dockerfile b/server/Dockerfile
index 19f6c76eb..553084ed7 100644
--- a/server/Dockerfile
+++ b/server/Dockerfile
@@ -1,11 +1,11 @@
 # dev build
-FROM ghcr.io/immich-app/base-server-dev:20240326@sha256:d945aba864051b30888617f36446f86b72c4bc7ad6476b9dd2aaa0c4c4e3c945 as dev
+FROM ghcr.io/immich-app/base-server-dev:20240416@sha256:ff2aadf54298e8ceca94031c6fed143236d8d82640fbbf422e0a9d2978e45923 as dev

 RUN apt-get install --no-install-recommends -yqq tini
 WORKDIR /usr/src/app
 COPY server/package.json server/package-lock.json ./
 RUN npm ci && \
-    # sharp-linux-x64 and sharp-linux-arm64 are the only ones we need
+    # exiftool-vendored.pl, sharp-linux-x64 and sharp-linux-arm64 are the only ones we need
     # they're marked as optional dependencies, so we need to copy them manually after pruning
     rm -rf node_modules/@img/sharp-libvips* && \
     rm -rf node_modules/@img/sharp-linuxmusl-x64
@@ -22,9 +22,10 @@ FROM dev AS prod
 RUN npm run build
 RUN npm prune --omit=dev --omit=optional
 COPY --from=dev /usr/src/app/node_modules/@img ./node_modules/@img
+COPY --from=dev /usr/src/app/node_modules/exiftool-vendored.pl ./node_modules/exiftool-vendored.pl

 # web build
-FROM node:iron-alpine3.18@sha256:fa5d3cf51725bd42d32e67917623038539dbe720dab082f590785c001eb4dfef as web
+FROM node:iron-alpine3.18@sha256:d328c7bc3305e1ab26491817936c8151a47a8861ad617c16c1eeaa9c8075c8f6 as web

 WORKDIR /usr/src/open-api/typescript-sdk
 COPY open-api/typescript-sdk/package*.json open-api/typescript-sdk/tsconfig*.json ./
@@ -40,7 +41,7 @@ RUN npm run build

 # prod build
-FROM ghcr.io/immich-app/base-server-prod:20240326@sha256:28ad98fed8d746b5f92de49ff776cfdff7399df163ebeda2f37a01f473965841
+FROM ghcr.io/immich-app/base-server-prod:20240416@sha256:138f4d6fb74b282256583070339eaba6f39fcffa3569ae05b6823d5c37098242

 WORKDIR /usr/src/app
 ENV NODE_ENV=production \
diff --git a/web/Dockerfile b/web/Dockerfile
index c59b6c716..a25ac2bfa 100644
--- a/web/Dockerfile
+++ b/web/Dockerfile
@@ -1,4 +1,4 @@
-FROM node:iron-alpine3.18@sha256:fa5d3cf51725bd42d32e67917623038539dbe720dab082f590785c001eb4dfef
+FROM node:iron-alpine3.18@sha256:d328c7bc3305e1ab26491817936c8151a47a8861ad617c16c1eeaa9c8075c8f6

 RUN apk add --no-cache tini
 USER node
diff --git a/web/src/lib/components/shared-components/version-announcement-box.svelte b/web/src/lib/components/shared-components/version-announcement-box.svelte
index 7cb9cca57..6967962fa 100644
--- a/web/src/lib/components/shared-components/version-announcement-box.svelte
+++ b/web/src/lib/components/shared-components/version-announcement-box.svelte
@@ -33,12 +33,7 @@
 </script>

 {#if showModal}
-  <FullScreenModal onClose={() => (showModal = false)}>
-    <div
-      class="max-w-lg rounded-3xl border bg-immich-bg px-8 py-10 shadow-sm dark:border-immich-dark-gray dark:bg-immich-dark-gray dark:text-immich-dark-fg"
-    >
-      <p class="mb-4 text-2xl">πŸŽ‰ NEW VERSION AVAILABLE πŸŽ‰</p>
-
+  <FullScreenModal id="new-version-modal" title="πŸŽ‰ NEW VERSION AVAILABLE" onClose={() => (showModal = false)}>
     <div>
       Hi friend, there is a new version of the application please take your time to visit the
       <span class="font-medium underline"
@@ -58,9 +53,8 @@
       <code>Latest Version: {releaseVersion}</code>
     </div>

-      <div class="mt-8 text-right">
+    <svelte:fragment slot="sticky-bottom">
       <Button fullwidth on:click={onAcknowledge}>Acknowledge</Button>
-      </div>
-    </div>
+    </svelte:fragment>
   </FullScreenModal>
 {/if}
diff --git a/machine-learning/README.md b/machine-learning/README.md
index b30e18ceb..d7d099a87 100644
--- a/machine-learning/README.md
+++ b/machine-learning/README.md
@@ -7,7 +7,7 @@

 This project uses [Poetry](https://python-poetry.org/docs/#installation), so be sure to install it first.
 Running `poetry install --no-root --with dev --with cpu` will install everything you need in an isolated virtual environment.
-CUDA and OpenVINO are supported as acceleration APIs. To use them, you can replace `--with cpu` with either of `--with cuda` or `--with openvino`.
+CUDA and OpenVINO are supported as acceleration APIs. To use them, you can replace `--with cpu` with either of `--with cuda` or `--with openvino`. In the case of CUDA, a [compute capability](https://developer.nvidia.com/cuda-gpus) of 5.2 or higher is required.

 To add or remove dependencies, you can use the commands `poetry add $PACKAGE_NAME` and `poetry remove $PACKAGE_NAME`, respectively.
 Be sure to commit the `poetry.lock` and `pyproject.toml` files with `poetry lock --no-update` to reflect any changes in dependencies.
diff --git a/machine-learning/Dockerfile b/machine-learning/Dockerfile
index 3f111401c..9a1082458 100644
--- a/machine-learning/Dockerfile
+++ b/machine-learning/Dockerfile
@@ -1,6 +1,6 @@
 ARG DEVICE=cpu

-FROM python:3.11-bookworm@sha256:e2ed446c899827ed992f8a5a8875fa0853fcab32581e61418b650322061aa3c4 as builder-cpu
+FROM python:3.11-bookworm@sha256:abe34d06fca0165d40375b0e840fd3296ad2d075954d3a400d4efefe0e9b3012 as builder-cpu

 FROM openvino/ubuntu22_runtime:2023.3.0@sha256:176646df619032ea6c10faf842867119c393e7497b7f88b5e307e932a0fd5aa8 as builder-openvino
 USER root
@@ -36,7 +36,7 @@ RUN python3 -m venv /opt/venv
 COPY poetry.lock pyproject.toml ./
 RUN poetry install --sync --no-interaction --no-ansi --no-root --with ${DEVICE} --without dev

-FROM python:3.11-slim-bookworm@sha256:90f8795536170fd08236d2ceb74fe7065dbf74f738d8b84bfbf263656654dc9b as prod-cpu
+FROM python:3.11-slim-bookworm@sha256:dad770592ab3582ab2dabcf0e18a863df9d86bd9d23efcfa614110ce49ac20e4 as prod-cpu

 FROM openvino/ubuntu22_runtime:2023.3.0@sha256:176646df619032ea6c10faf842867119c393e7497b7f88b5e307e932a0fd5aa8 as prod-openvino
 USER root
diff --git a/docker/example.env b/docker/example.env
index 40d379f48..234ba3a40 100644
--- a/docker/example.env
+++ b/docker/example.env
@@ -14,5 +14,6 @@ DB_PASSWORD=postgres
 DB_HOSTNAME=immich_postgres
 DB_USERNAME=postgres
 DB_DATABASE_NAME=immich
+DB_DATA_LOCATION=./postgres

 REDIS_HOSTNAME=immich_redis
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
index 7f27798c5..731bd4c90 100644
--- a/docker/docker-compose.yml
+++ b/docker/docker-compose.yml
@@ -58,7 +58,7 @@ services:

   redis:
     container_name: immich_redis
-    image: registry.hub.docker.com/library/redis:6.2-alpine@sha256:51d6c56749a4243096327e3fb964a48ed92254357108449cb6e23999c37773c5
+    image: registry.hub.docker.com/library/redis:6.2-alpine@sha256:84882e87b54734154586e5f8abd4dce69fe7311315e2fc6d67c29614c8de2672
     restart: always

   database:
@@ -69,9 +69,8 @@ services:
       POSTGRES_USER: ${DB_USERNAME}
       POSTGRES_DB: ${DB_DATABASE_NAME}
     volumes:
-      - pgdata:/var/lib/postgresql/data
+      - ${DB_DATA_LOCATION}:/var/lib/postgresql/data
     restart: always

 volumes:
-  pgdata:
   model-cache:
diff --git a/docs/docs/install/environment-variables.md b/docs/docs/install/environment-variables.md
index a8cbe6059..dce9d4fa5 100644
--- a/docs/docs/install/environment-variables.md
+++ b/docs/docs/install/environment-variables.md
@@ -41,7 +41,7 @@ These environment variables are used by the `docker-compose.yml` file and do **N
 | `IMMICH_REVERSE_GEOCODING_ROOT` | Path of reverse geocoding dump directory     | `/usr/src/resources` | microservices                           |

 :::tip
-`TZ` should be set to a `TZ identifier` from [this list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). For example, `TZ="Etc/UTC"`.
+`TZ` should be set to a `TZ identifier` from [this list][tz-list]. For example, `TZ="Etc/UTC"`.

 `TZ` is only used by `exiftool`, which is present in the microservices container, as a fallback in case the timezone cannot be determined from the image metadata.
 :::
@@ -49,7 +49,8 @@ These environment variables are used by the `docker-compose.yml` file and do **N
 ## Ports

 | Variable                | Description           |  Default  | Services              |
-| :---------------------- | :-------------------- | :-------: | :--------------- |
+| :---------------------- | :-------------------- | :-------: | :-------------------- |
+| `HOST`                  | Host                  | `0.0.0.0` | server, microservices |
 | `SERVER_PORT`           | Server Port           |  `3001`   | server                |
 | `MICROSERVICES_PORT`    | Microservices Port    |  `3002`   | microservices         |
 | `MACHINE_LEARNING_HOST` | Machine Learning Host | `0.0.0.0` | machine learning      |
@@ -71,7 +72,7 @@ These environment variables are used by the `docker-compose.yml` file and do **N

 :::info

-When `DB_URL` is defined, the other database (`DB_*`) variables are ignored.
+When `DB_URL` is defined, the other database (`DB_*`) variables are ignored, with the exception of `DB_VECTOR_EXTENSION`.

 :::

@@ -90,7 +91,7 @@ When `DB_URL` is defined, the other database (`DB_*`) variables are ignored.
 :::info

 `REDIS_URL` must start with `ioredis://` and then include a `base64` encoded JSON string for the configuration.
-More info can be found in the upstream [ioredis](https://ioredis.readthedocs.io/en/latest/API/) documentation.
+More info can be found in the upstream [ioredis][redis-api] documentation.

 - When `REDIS_URL` is defined, the other redis (`REDIS_*`) variables are ignored.
 - When `REDIS_SOCKET` is defined, the other redis (`REDIS_*`) variables are ignored.
@@ -158,7 +159,7 @@ Other machine learning parameters can be tuned from the admin UI.

 ## Docker Secrets

-The following variables support the use of [Docker secrets](https://docs.docker.com/engine/swarm/secrets/) for additional security.
+The following variables support the use of [Docker secrets][docker-secrets] for additional security.

 To use any of these, replace the regular environment variable with the equivalent `_FILE` environment variable. The value of
 the `_FILE` variable should be set to the path of a file containing the variable value.
@@ -172,8 +173,14 @@ the `_FILE` variable should be set to the path of a file containing the variable
 | `DB_URL`           | `DB_URL_FILE`<sup>\*1</sup>                 |
 | `REDIS_PASSWORD`   | `REDIS_PASSWORD_FILE`<sup>\*2</sup>         |

-\*1: See the [official documentation](https://github.com/docker-library/docs/tree/master/postgres#docker-secrets) for
+\*1: See the [official documentation][docker-secrets-docs] for
 details on how to use Docker Secrets in the Postgres image.

-\*2: See [this comment](https://github.com/docker-library/redis/issues/46#issuecomment-335326234) for an example of how
+\*2: See [this comment][docker-secrets-example] for an example of how
 to use use a Docker secret for the password in the Redis container.
+
+[tz-list]: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
+[docker-secrets-example]: https://github.com/docker-library/redis/issues/46#issuecomment-335326234
+[docker-secrets-docs]: https://github.com/docker-library/docs/tree/master/postgres#docker-secrets
+[docker-secrets]: https://docs.docker.com/engine/swarm/secrets/
+[redis-api]: https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository

/home/runner/work/immich-distribution/immich-distribution /tmp/tmp.0zFRDHhwvK removed

Base image

Check the base images for recent relevant changes:

Checklist

ref #172