nsg / immich-distribution

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

Bump v1.103.1 #176

Closed github-actions[bot] closed 5 months ago

github-actions[bot] commented 5 months ago

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

Upstream release notes

Monitored upstream files

diff --git a/server/src/migrations/1713337511945-AddAlbumUserRole.ts b/server/src/migrations/1713337511945-AddAlbumUserRole.ts
new file mode 100644
index 000000000..a8d0d3d68
--- /dev/null
+++ b/server/src/migrations/1713337511945-AddAlbumUserRole.ts
@@ -0,0 +1,14 @@
+import { MigrationInterface, QueryRunner } from "typeorm";
+
+export class AddAlbumUserRole1713337511945 implements MigrationInterface {
+    name = 'AddAlbumUserRole1713337511945'
+
+    public async up(queryRunner: QueryRunner): Promise<void> {
+        await queryRunner.query(`ALTER TABLE "albums_shared_users_users" ADD "role" character varying NOT NULL DEFAULT 'editor'`);
+    }
+
+    public async down(queryRunner: QueryRunner): Promise<void> {
+        await queryRunner.query(`ALTER TABLE "albums_shared_users_users" DROP COLUMN "role"`);
+    }
+
+}
diff --git a/server/Dockerfile b/server/Dockerfile
index 553084ed7..bbf0d5a98 100644
--- a/server/Dockerfile
+++ b/server/Dockerfile
@@ -1,5 +1,5 @@
 # dev build
-FROM ghcr.io/immich-app/base-server-dev:20240416@sha256:ff2aadf54298e8ceca94031c6fed143236d8d82640fbbf422e0a9d2978e45923 as dev
+FROM ghcr.io/immich-app/base-server-dev:20240423@sha256:9a22bc96acf02421a46706c6e0b5871b812d896f97bced295f8b7089de3de160 as dev

 RUN apt-get install --no-install-recommends -yqq tini
 WORKDIR /usr/src/app
@@ -41,7 +41,7 @@ RUN npm run build

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

 WORKDIR /usr/src/app
 ENV NODE_ENV=production \
diff --git a/docker/example.env b/docker/example.env
index 234ba3a40..89fa415ec 100644
--- a/docker/example.env
+++ b/docker/example.env
@@ -2,6 +2,8 @@

 # The location where your uploaded files are stored
 UPLOAD_LOCATION=./library
+# The location where your database files are stored
+DB_DATA_LOCATION=./postgres

 # The Immich version to use. You can pin this to a specific version like "v1.71.0"
 IMMICH_VERSION=release
@@ -11,9 +13,5 @@ DB_PASSWORD=postgres

 # The values below this line do not need to be changed
 ###################################################################################
-DB_HOSTNAME=immich_postgres
 DB_USERNAME=postgres
 DB_DATABASE_NAME=immich
-DB_DATA_LOCATION=./postgres
-
-REDIS_HOSTNAME=immich_redis
diff --git a/docs/docs/install/environment-variables.md b/docs/docs/install/environment-variables.md
index dce9d4fa5..682610789 100644
--- a/docs/docs/install/environment-variables.md
+++ b/docs/docs/install/environment-variables.md
@@ -18,9 +18,10 @@ If this should not work, try running `docker compose up -d --force-recreate`.
 ## Docker Compose

 | Variable           | Description                     |  Default  | Services                                |
-| :---------------- | :-------------------- | :-------: | :-------------------------------------- |
+| :----------------- | :------------------------------ | :-------: | :-------------------------------------- |
 | `IMMICH_VERSION`   | Image tags                      | `release` | server, microservices, machine learning |
 | `UPLOAD_LOCATION`  | Host Path for uploads           |           | server, microservices                   |
+| `DB_DATA_LOCATION` | Host Path for Postgres database |           | database                                |

 :::tip

@@ -31,15 +32,18 @@ These environment variables are used by the `docker-compose.yml` file and do **N
 ## General

 | Variable                        | Description                                  |         Default          | Services                                |
-| :------------------------------ | :------------------------------------------- | :------------------: | :-------------------------------------- |
+| :------------------------------ | :------------------------------------------- | :----------------------: | :-------------------------------------- |
 | `TZ`                            | Timezone                                     |                          | microservices                           |
 | `NODE_ENV`                      | Environment (production, development)        |       `production`       | server, microservices, machine learning |
 | `LOG_LEVEL`                     | Log Level (verbose, debug, log, warn, error) |          `log`           | server, microservices, machine learning |
-| `IMMICH_MEDIA_LOCATION`         | Media Location                               |      `./upload`      | server, microservices                   |
+| `IMMICH_MEDIA_LOCATION`         | Media Location                               | `./upload`<sup>\*1</sup> | server, microservices                   |
 | `IMMICH_CONFIG_FILE`            | Path to config file                          |                          | server, microservices                   |
 | `IMMICH_WEB_ROOT`               | Path of root index.html                      |    `/usr/src/app/www`    | server                                  |
 | `IMMICH_REVERSE_GEOCODING_ROOT` | Path of reverse geocoding dump directory     |   `/usr/src/resources`   | microservices                           |

+\*1: With the default `WORKDIR` of `/usr/src/app`, this path will resolve to `/usr/src/app/upload`.
+It only need to be set if the Immich deployment method is changing.
+
 :::tip
 `TZ` should be set to a `TZ identifier` from [this list][tz-list]. For example, `TZ="Etc/UTC"`.

@@ -59,29 +63,32 @@ These environment variables are used by the `docker-compose.yml` file and do **N
 ## Database

 | Variable                            | Description                                                              |   Default    | Services                                      |
-| :---------------------------------- | :------------------------------------------------------------ | :----------: | :-------------------- |
+| :---------------------------------- | :----------------------------------------------------------------------- | :----------: | :-------------------------------------------- |
 | `DB_URL`                            | Database URL                                                             |              | server, microservices                         |
-| `DB_HOSTNAME`                       | Database Host                                                 | `localhost`  | server, microservices |
+| `DB_HOSTNAME`                       | Database Host                                                            |  `database`  | server, microservices                         |
 | `DB_PORT`                           | Database Port                                                            |    `5432`    | server, microservices                         |
-| `DB_USERNAME`                       | Database User                                                 |  `postgres`  | server, microservices |
-| `DB_PASSWORD`                       | Database Password                                             |  `postgres`  | server, microservices |
-| `DB_DATABASE_NAME`                  | Database Name                                                 |   `immich`   | server, microservices |
-| `DB_VECTOR_EXTENSION`<sup>\*1</sup> | Database Vector Extension (one of [`pgvector`, `pgvecto.rs`]) | `pgvecto.rs` | server, microservices |
+| `DB_USERNAME`                       | Database User                                                            |  `postgres`  | server, microservices, database<sup>\*1</sup> |
+| `DB_PASSWORD`                       | Database Password                                                        |  `postgres`  | server, microservices, database<sup>\*1</sup> |
+| `DB_DATABASE_NAME`                  | Database Name                                                            |   `immich`   | server, microservices, database<sup>\*1</sup> |
+| `DB_VECTOR_EXTENSION`<sup>\*2</sup> | Database Vector Extension (one of [`pgvector`, `pgvecto.rs`])            | `pgvecto.rs` | server, microservices                         |
+| `DB_SKIP_MIGRATIONS`                | Whether to skip running migrations on startup (one of [`true`, `false`]) |   `false`    | server, microservices                         |
+
+\*1: The values of `DB_USERNAME`, `DB_PASSWORD`, and `DB_DATABASE_NAME` are passed to the Postgres container as the variables `POSTGRES_USER`, `POSTGRES_PASSWORD`, and `POSTGRES_DB` in `docker-compose.yml`.

-\*1: This setting cannot be changed after the server has successfully started up
+\*2: This setting cannot be changed after the server has successfully started up.

 :::info

-When `DB_URL` is defined, the other database (`DB_*`) variables are ignored, with the exception of `DB_VECTOR_EXTENSION`.
+When `DB_URL` is defined, the `DB_HOSTNAME`, `DB_PORT`, `DB_USERNAME`, `DB_PASSWORD` and `DB_DATABASE_NAME` database variables are ignored.

 :::

 ## Redis

 | Variable         | Description    | Default | Services              |
-| :--------------- | :------------- | :------------: | :-------------------- |
+| :--------------- | :------------- | :-----: | :-------------------- |
 | `REDIS_URL`      | Redis URL      |         | server, microservices |
-| `REDIS_HOSTNAME` | Redis Host     | `immich_redis` | server, microservices |
+| `REDIS_HOSTNAME` | Redis Host     | `redis` | server, microservices |
 | `REDIS_PORT`     | Redis Port     | `6379`  | server, microservices |
 | `REDIS_DBINDEX`  | Redis DB Index |   `0`   | server, microservices |
 | `REDIS_USERNAME` | Redis Username |         | server, microservices |
@@ -100,6 +107,9 @@ More info can be found in the upstream [ioredis][redis-api] documentation.

 Redis (Sentinel) URL example JSON before encoding:

+<details>
+<summary>JSON</summary>
+
 ```json
 {
   "sentinels": [
@@ -120,6 +130,8 @@ Redis (Sentinel) URL example JSON before encoding:
 }

+ +

Machine Learning

| Variable | Description | Default | Services |

```diff
diff --git a/docs/docs/features/command-line-interface.md b/docs/docs/features/command-line-interface.md
index 094de609f..d616f77e8 100644
--- a/docs/docs/features/command-line-interface.md
+++ b/docs/docs/features/command-line-interface.md
@@ -44,11 +44,11 @@ Please modify the `IMMICH_INSTANCE_URL` and `IMMICH_API_KEY` environment variabl

 ## Usage

-```
-immich
-```
+<details>
+<summary>Usage</summary>

+$ immich Usage: immich [options] [command]

Command line interface for Immich @@ -69,10 +69,15 @@ Commands: help [command] display help for command


+</details>
+
 ## Commands

 The upload command supports the following options:

+<details>
+<summary>Options</summary>
+

Usage: immich upload [paths...] [options]

@@ -94,19 +99,16 @@ Options: --help display help for command


+</details>
+
 Note that the above options can read from environment variables as well.

 ## Quick Start

-You begin by authenticating to your Immich server.
-
-```bash
-immich login [url] [key]
-```
-
-For instance,
+You begin by authenticating to your Immich server. For instance:

 ```bash
+# immich login [url] [key]
 immich login http://192.168.1.216:2283/api HFEJ38DNSDUEG

/home/runner/work/immich-distribution/immich-distribution
/tmp/tmp.rxSupQM3jQ removed

## Base image
Check the base images for recent relevant changes:

* https://github.com/immich-app/base-images/commits/main/

## Checklist
* Review the changes above
* Possible write a news entry (and push it to this PR)
* Wait for the CI to finish
* Merge the PR

ref #174