Skip to content

Commit d394654

Browse files
committed
Merge remote-tracking branch 'origin' into feat/inline-offline-check
2 parents 8ecde3b + e99edc4 commit d394654

File tree

228 files changed

+7248
-2000
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

228 files changed

+7248
-2000
lines changed

cli/package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cli/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@immich/cli",
3-
"version": "2.2.32",
3+
"version": "2.2.34",
44
"description": "Command Line Interface (CLI) for Immich",
55
"type": "module",
66
"exports": "./dist/index.js",

docker/docker-compose.prod.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ services:
103103
command: ['./run.sh', '-disable-reporting']
104104
ports:
105105
- 3000:3000
106-
image: grafana/grafana:11.3.0-ubuntu@sha256:51587e148ac0214d7938e7f3fe8512182e4eb6141892a3ffb88bba1901b49285
106+
image: grafana/grafana:11.3.1-ubuntu@sha256:7ca40d20250157abd70a907a93617a70c9b0ad9d7e59e8e6b5c8140781350d6a
107107
volumes:
108108
- grafana-data:/var/lib/grafana
109109

docs/docs/administration/email-notification.mdx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,9 @@ You can use [this guide](/docs/guides/smtp-gmail) to use Gmail's SMTP server.
1919
Users can manage their email notification settings from their account settings page on the web. They can choose to turn email notifications on or off for the following events:
2020

2121
<img src={require('./img/user-notifications-settings.png').default} width="80%" title="User notification settings" />
22+
23+
## Notification templates
24+
25+
You can override the default notification text with custom templates in HTML format. You can use tags to show dynamic tags in your templates.
26+
27+
<img src={require('./img/user-notifications-templates.png').default} width="80%" title="User notification templates" />
Loading

docs/docs/administration/system-settings.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,10 @@ Immich supports [Reverse Geocoding](/docs/features/reverse-geocoding) using data
157157

158158
SMTP server setup, for user creation notifications, new albums, etc. More information can be found [here](/docs/administration/email-notification)
159159

160+
## Notification Templates
161+
162+
Override the default notifications text with notification templates. More information can be found [here](/docs/administration/email-notification)
163+
160164
## Server Settings
161165

162166
### External Domain

docs/docs/guides/remote-machine-learning.md

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
# Remote Machine Learning
22

3-
To alleviate [performance issues on low-memory systems](/docs/FAQ.mdx#why-is-immich-slow-on-low-memory-systems-like-the-raspberry-pi) like the Raspberry Pi, you may also host Immich's machine-learning container on a more powerful system (e.g. your laptop or desktop computer):
4-
5-
- Set the URL in Machine Learning Settings on the Admin Settings page to point to the designated ML system, e.g. `http://workstation:3003`.
6-
- Copy the following `docker-compose.yml` to your ML system.
7-
- If using [hardware acceleration](/docs/features/ml-hardware-acceleration), the [hwaccel.ml.yml](https://github.com/immich-app/immich/releases/latest/download/hwaccel.ml.yml) file also needs to be added
8-
- Start the container by running `docker compose up -d`.
3+
To alleviate [performance issues on low-memory systems](/docs/FAQ.mdx#why-is-immich-slow-on-low-memory-systems-like-the-raspberry-pi) like the Raspberry Pi, you may also host Immich's machine learning container on a more powerful system, such as your laptop or desktop computer. The server container will send requests containing the image preview to the remote machine learning container for processing. The machine learning container does not persist this data or associate it with a particular user.
94

105
:::info
11-
Smart Search and Face Detection will use this feature, but Facial Recognition is handled in the server.
6+
Smart Search and Face Detection will use this feature, but Facial Recognition will not. This is because Facial Recognition uses the _outputs_ of these models that have already been saved to the database. As such, its processing is between the server container and the database.
127
:::
138

149
:::danger
15-
When using remote machine learning, the thumbnails are sent to the remote machine learning container. Use this option carefully when running this on a public computer or a paid processing cloud.
10+
Image previews are sent to the remote machine learning container. Use this option carefully when running this on a public computer or a paid processing cloud. Additionally, as an internal service, the machine learning container has no security measures whatsoever. Please be mindful of where it's deployed and who can access it.
11+
:::
12+
13+
1. Ensure the remote server has Docker installed
14+
2. Copy the following `docker-compose.yml` to the remote server
15+
16+
:::info
17+
If using hardware acceleration, the [hwaccel.ml.yml](https://github.com/immich-app/immich/releases/latest/download/hwaccel.ml.yml) file also needs to be added and the `docker-compose.yml` needs to be configured as described in the [hardware acceleration documentation](/docs/features/ml-hardware-acceleration)
1618
:::
1719

1820
```yaml
@@ -37,8 +39,26 @@ volumes:
3739
model-cache:
3840
```
3941
40-
Please note that version mismatches between both hosts may cause instabilities and bugs, so make sure to always perform updates together.
42+
3. Start the remote machine learning container by running `docker compose up -d`
43+
44+
:::info
45+
Version mismatches between both hosts may cause bugs and instability, so remember to update this container as well when updating the local Immich instance.
46+
:::
47+
48+
4. Navigate to the [Machine Learning Settings](https://my.immich.app/admin/system-settings?isOpen=machine-learning)
49+
5. Click _Add URL_
50+
6. Fill the new field with the URL to the remote machine learning container, e.g. `http://ip:port`
51+
52+
## Forcing remote processing
53+
54+
Adding a new URL to the settings is recommended over replacing the existing URL. This is because it will allow machine learning tasks to be processed successfully when the remote server is down by falling back to the local machine learning container. If you do not want machine learning tasks to be processed locally when the remote server is not available, you can instead replace the existing URL and only provide the remote container's URL. If doing this, you can remove the `immich-machine-learning` section of the local `docker-compose.yml` file to save resources, as this service will never be used.
55+
56+
Do note that this will mean that Smart Search and Face Detection jobs will fail to be processed when the remote instance is not available. This in turn means that tasks dependent on these features—Duplicate Detection and Facial Recognition—will not run for affected assets. If this occurs, you must manually click the _Missing_ button next to Smart Search and Face Detection in the [Job Status](http://my.immich.app/admin/jobs-status) page for the jobs to be retried.
57+
58+
## Load balancing
59+
60+
While several URLs can be provided in the settings, they are tried sequentially; there is no attempt to distribute load across multiple containers. It is recommended to use a dedicated load balancer for such use-cases and specify it as the only URL. Among other things, it may enable the use of different APIs on the same server by running multiple containers with different configurations. For example, one might run an OpenVINO container in addition to a CUDA container, or run a standard release container to maximize both CPU and GPU utilization.
4161

42-
:::caution
43-
As an internal service, the machine learning container has no security measures whatsoever. Please be mindful of where it's deployed and who can access it.
62+
:::tip
63+
The machine learning container can be shared among several Immich instances regardless of the models a particular instance uses. However, using different models will lead to higher peak memory usage.
4464
:::

docs/docs/install/config-file.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ The default configuration looks like this:
8383
},
8484
"machineLearning": {
8585
"enabled": true,
86-
"url": "http://immich-machine-learning:3003",
86+
"url": ["http://immich-machine-learning:3003"],
8787
"clip": {
8888
"enabled": true,
8989
"modelName": "ViT-B-32__openai"

docs/static/archived-versions.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
11
[
2+
{
3+
"label": "v1.122.1",
4+
"url": "https://v1.122.1.archive.immich.app"
5+
},
6+
{
7+
"label": "v1.122.0",
8+
"url": "https://v1.122.0.archive.immich.app"
9+
},
210
{
311
"label": "v1.121.0",
412
"url": "https://v1.121.0.archive.immich.app"

e2e/package-lock.json

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

e2e/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "immich-e2e",
3-
"version": "1.121.0",
3+
"version": "1.122.1",
44
"description": "",
55
"main": "index.js",
66
"type": "module",

i18n/af.json

Lines changed: 57 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,57 @@
1-
{}
1+
{
2+
"about": "Verfris",
3+
"account": "Rekening",
4+
"account_settings": "Rekeninginstellings",
5+
"acknowledge": "Erken",
6+
"action": "Aksie",
7+
"actions": "Aksies",
8+
"active": "Aktief",
9+
"activity": "Aktiwiteite",
10+
"activity_changed": "Aktiwiteit is {enabled, select, true {aangeskakel} other {afgeskakel}}",
11+
"add": "Voegby",
12+
"add_a_description": "Voeg 'n beskrywing by",
13+
"add_a_location": "Voeg 'n ligging by",
14+
"add_a_name": "Voeg 'n naam by",
15+
"add_a_title": "Voeg 'n titel by",
16+
"add_exclusion_pattern": "Voeg uitsgluitingspatrone by",
17+
"add_import_path": "Voeg invoerpad by",
18+
"add_location": "Voeg ligging by",
19+
"add_more_users": "Voeg meer gebruikers by",
20+
"add_partner": "Voeg vennoot by",
21+
"add_path": "Voeg pad by",
22+
"add_photos": "Voeg foto's by",
23+
"add_to": "Voeg na...",
24+
"add_to_album": "Voeg na album",
25+
"add_to_shared_album": "Voeg na gedeelde album",
26+
"added_to_archive": "By argief gevoeg",
27+
"added_to_favorites": "By gunstelinge gevoeg",
28+
"added_to_favorites_count": "Het {count, number} by gunstelinge gevoeg",
29+
"admin": {
30+
"add_exclusion_pattern_description": "Voeg uitsluitingspatrone by. Globbing met *, ** en ? word ondersteun. Om alle lêers in enige lêergids genaamd \"Raw\" te ignoreer, gebruik \"**/Raw/**\". Om alle lêers wat op \".tif\" eindig, te ignoreer, gebruik \"**/*.tif\". Om 'n absolute pad te ignoreer, gebruik \"/path/to/ignore/**\".",
31+
"asset_offline_description": "Hierdie eksterne biblioteekbate word nie meer op skyf gevind nie en is na die asblik geskuif. As die lêer binne die biblioteek geskuif is, gaan jou tydlyn na vir die nuwe ooreenstemmende bate. Om hierdie bate te herstel, maak asseblief seker dat die lêerpad hieronder deur Immich verkry kan word en skandeer die biblioteek.",
32+
"authentication_settings": "Verifikasie instellings",
33+
"authentication_settings_description": "Bestuur wagwoord, OAuth en ander verifikasie instellings",
34+
"authentication_settings_disable_all": "Is jy seker jy wil alle aanmeldmetodes deaktiveer? Aanmelding sal heeltemal gedeaktiveer word.",
35+
"authentication_settings_reenable": "Om te heraktiveer, gebruik 'n <link>Server Command</link>.",
36+
"background_task_job": "Agtergrondtake",
37+
"backup_database": "Rugsteun databasis",
38+
"backup_database_enable_description": "Aktiveer databasisrugsteun",
39+
"backup_keep_last_amount": "Aantal vorige rugsteune om te hou",
40+
"backup_settings": "Rugsteun instellings",
41+
"backup_settings_description": "Bestuur databasis rugsteun instellings",
42+
"check_all": "Kies Alles",
43+
"cleared_jobs": "Poste gevee vir: {job}",
44+
"config_set_by_file": "Config word tans deur 'n konfigurasielêer gestel",
45+
"confirm_delete_library": "Is jy seker jy wil {library}-biblioteek uitvee?",
46+
"confirm_delete_library_assets": "Is jy seker jy wil hierdie biblioteek uitvee? Dit sal {count, plural, one {# bevatte base} other {# bevatte bates}} uit Immich uitvee en kan nie ongedaan gemaak word nie. Lêers sal op skyf bly.",
47+
"confirm_email_below": "Om te bevestig, tik \"{email}\" hieronder",
48+
"confirm_reprocess_all_faces": "Is jy seker jy wil alle gesigte herverwerk? Dit sal ook genoemde mense skoonmaak.",
49+
"confirm_user_password_reset": "Is jy seker jy wil {user} se wagwoord terugstel?",
50+
"create_job": "Skep werk",
51+
"cron_expression": "Cron uitdrukking",
52+
"cron_expression_description": "Stel die skanderingsinterval in met die cron-formaat. Vir meer inligting verwys asseblief na bv. <link>Crontab Guru</link>",
53+
"cron_expression_presets": "Cron uitdrukking voorafinstellings",
54+
"disable_login": "Deaktiveer aanmelding",
55+
"duplicate_detection_job_description": "Begin masjienleer op bates om soortgelyke beelde op te spoor. Maak staat op Smart Search"
56+
}
57+
}

0 commit comments

Comments
 (0)