diff --git a/docs/docs/FAQ.mdx b/docs/docs/FAQ.mdx
index 006c515558498..c0615fc79af87 100644
--- a/docs/docs/FAQ.mdx
+++ b/docs/docs/FAQ.mdx
@@ -202,7 +202,7 @@ Immich uses CLIP models. An ML model converts each image to an "embedding", whic
### How does facial recognition work?
-See [How Facial Recognition Works](/docs/features/facial-recognition#How-Facial-Recognition-Works) for details.
+See [How Facial Recognition Works](/docs/features/facial-recognition#how-facial-recognition-works) for details.
### How can I disable machine learning?
@@ -224,7 +224,7 @@ No, this is not supported. Only models listed in the [Hugging Face][huggingface]
### I want to be able to search in other languages besides English. How can I do that?
-You can change to a multilingual CLIP model. See [here](/docs/features/smart-search#CLIP-model) for instructions.
+You can change to a multilingual CLIP model. See [here](/docs/features/searching#clip-model) for instructions.
### Does Immich support Facial Recognition for videos?
@@ -235,7 +235,7 @@ Scanning the entire video for faces may be implemented in the future.
No.
:::tip
-You can use [Smart Search](/docs/features/smart-search.md) for this to some extent. For example, if you have a Golden Retriever and a Chihuahua, type these words in the smart search and watch the results.
+You can use [Smart Search](/docs/features/searching.md) for this to some extent. For example, if you have a Golden Retriever and a Chihuahua, type these words in the smart search and watch the results.
:::
### I'm getting a lot of "faces" that aren't faces, what can I do?
diff --git a/docs/docs/administration/backup-and-restore.md b/docs/docs/administration/backup-and-restore.md
index 1f8d489728ee0..9fffdf103b1c2 100644
--- a/docs/docs/administration/backup-and-restore.md
+++ b/docs/docs/administration/backup-and-restore.md
@@ -5,6 +5,10 @@ import TabItem from '@theme/TabItem';
A [3-2-1 backup strategy](https://www.backblaze.com/blog/the-3-2-1-backup-strategy/) is recommended to protect your data. You should keep copies of your uploaded photos/videos as well as the Immich database for a comprehensive backup solution. This page provides an overview on how to backup the database and the location of user-uploaded pictures and videos. A template bash script that can be run as a cron job is provided [here](/docs/guides/template-backup-script.md)
+:::danger
+The instructions on this page show you how to prepare your Immich instance to be backed up, and which files to take a backup of. You still need to take care of using an actual backup tool to make a backup yourself.
+:::
+
## Database
:::caution
@@ -21,7 +25,8 @@ It is not recommended to directly backup the `DB_DATA_LOCATION` folder. Doing so
### Automatic Database Backups
-Immich will automatically create database backups by default. The backups are stored in `UPLOAD_LOCATION/backups`.
+For convenience, Immich will automatically create database backups by default. The backups are stored in `UPLOAD_LOCATION/backups`.
+As mentioned above, you should make your own backup of these together with the asset folders as noted below.
You can adjust the schedule and amount of kept backups in the [admin settings](http://my.immich.app/admin/system-settings?isOpen=backup).
By default, Immich will keep the last 14 backups and create a new backup every day at 2:00 AM.
diff --git a/docs/docs/administration/email-notification.mdx b/docs/docs/administration/email-notification.mdx
index 2f244f33521a7..2ad4fba2be862 100644
--- a/docs/docs/administration/email-notification.mdx
+++ b/docs/docs/administration/email-notification.mdx
@@ -18,10 +18,10 @@ You can use [this guide](/docs/guides/smtp-gmail) to use Gmail's SMTP server.
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:
-
+
## Notification templates
You can override the default notification text with custom templates in HTML format. You can use tags to show dynamic tags in your templates.
-
+
diff --git a/docs/docs/administration/img/admin-jobs-exif.png b/docs/docs/administration/img/admin-jobs-exif.png
deleted file mode 100644
index 6c3f0bfefb1e9..0000000000000
Binary files a/docs/docs/administration/img/admin-jobs-exif.png and /dev/null differ
diff --git a/docs/docs/administration/img/admin-jobs-objects.png b/docs/docs/administration/img/admin-jobs-objects.png
deleted file mode 100644
index d7dd678f981e5..0000000000000
Binary files a/docs/docs/administration/img/admin-jobs-objects.png and /dev/null differ
diff --git a/docs/docs/administration/img/admin-jobs-template.png b/docs/docs/administration/img/admin-jobs-template.png
deleted file mode 100644
index b3fc087877460..0000000000000
Binary files a/docs/docs/administration/img/admin-jobs-template.png and /dev/null differ
diff --git a/docs/docs/administration/img/admin-jobs-thumbnails.png b/docs/docs/administration/img/admin-jobs-thumbnails.png
deleted file mode 100644
index a8cdc5df1bba3..0000000000000
Binary files a/docs/docs/administration/img/admin-jobs-thumbnails.png and /dev/null differ
diff --git a/docs/docs/administration/img/admin-jobs.webp b/docs/docs/administration/img/admin-jobs.webp
index 15580c3c9cc8c..2867e18adc592 100644
Binary files a/docs/docs/administration/img/admin-jobs.webp and b/docs/docs/administration/img/admin-jobs.webp differ
diff --git a/docs/docs/administration/img/administration-panel.webp b/docs/docs/administration/img/administration-panel.webp
new file mode 100644
index 0000000000000..f2f171914be1b
Binary files /dev/null and b/docs/docs/administration/img/administration-panel.webp differ
diff --git a/docs/docs/administration/img/authentik-redirect.png b/docs/docs/administration/img/authentik-redirect.png
deleted file mode 100644
index 6cae28bbfe68a..0000000000000
Binary files a/docs/docs/administration/img/authentik-redirect.png and /dev/null differ
diff --git a/docs/docs/administration/img/authentik-redirect.webp b/docs/docs/administration/img/authentik-redirect.webp
new file mode 100644
index 0000000000000..f3aa10fd2305d
Binary files /dev/null and b/docs/docs/administration/img/authentik-redirect.webp differ
diff --git a/docs/docs/administration/img/customize-delete-user.png b/docs/docs/administration/img/customize-delete-user.png
deleted file mode 100644
index e76212cd55780..0000000000000
Binary files a/docs/docs/administration/img/customize-delete-user.png and /dev/null differ
diff --git a/docs/docs/administration/img/customize-delete-user.webp b/docs/docs/administration/img/customize-delete-user.webp
new file mode 100644
index 0000000000000..6f171b4bc287a
Binary files /dev/null and b/docs/docs/administration/img/customize-delete-user.webp differ
diff --git a/docs/docs/administration/img/disable-password-login.png b/docs/docs/administration/img/disable-password-login.png
deleted file mode 100644
index e83059b763f23..0000000000000
Binary files a/docs/docs/administration/img/disable-password-login.png and /dev/null differ
diff --git a/docs/docs/administration/img/disable-password-login.webp b/docs/docs/administration/img/disable-password-login.webp
new file mode 100644
index 0000000000000..5e951773923a9
Binary files /dev/null and b/docs/docs/administration/img/disable-password-login.webp differ
diff --git a/docs/docs/administration/img/enable-password-login.png b/docs/docs/administration/img/enable-password-login.png
deleted file mode 100644
index e4827a2c9d291..0000000000000
Binary files a/docs/docs/administration/img/enable-password-login.png and /dev/null differ
diff --git a/docs/docs/administration/img/enable-password-login.webp b/docs/docs/administration/img/enable-password-login.webp
new file mode 100644
index 0000000000000..d1401f2afe874
Binary files /dev/null and b/docs/docs/administration/img/enable-password-login.webp differ
diff --git a/docs/docs/administration/img/immediately-remove-user.png b/docs/docs/administration/img/immediately-remove-user.png
deleted file mode 100644
index 8f558bf7102f4..0000000000000
Binary files a/docs/docs/administration/img/immediately-remove-user.png and /dev/null differ
diff --git a/docs/docs/administration/img/immediately-remove-user.webp b/docs/docs/administration/img/immediately-remove-user.webp
new file mode 100644
index 0000000000000..8addeff14c7d5
Binary files /dev/null and b/docs/docs/administration/img/immediately-remove-user.webp differ
diff --git a/docs/docs/administration/img/list-users.png b/docs/docs/administration/img/list-users.png
deleted file mode 100644
index 02c6d8faea87a..0000000000000
Binary files a/docs/docs/administration/img/list-users.png and /dev/null differ
diff --git a/docs/docs/administration/img/list-users.webp b/docs/docs/administration/img/list-users.webp
new file mode 100644
index 0000000000000..05b7fb3aa7479
Binary files /dev/null and b/docs/docs/administration/img/list-users.webp differ
diff --git a/docs/docs/administration/img/password-login-settings.png b/docs/docs/administration/img/password-login-settings.png
deleted file mode 100644
index 2c87081db50ac..0000000000000
Binary files a/docs/docs/administration/img/password-login-settings.png and /dev/null differ
diff --git a/docs/docs/administration/img/password-login-settings.webp b/docs/docs/administration/img/password-login-settings.webp
new file mode 100644
index 0000000000000..fd61a18d03c68
Binary files /dev/null and b/docs/docs/administration/img/password-login-settings.webp differ
diff --git a/docs/docs/administration/img/repair-page-1.png b/docs/docs/administration/img/repair-page-1.png
deleted file mode 100644
index 4c6a1cdddb6ea..0000000000000
Binary files a/docs/docs/administration/img/repair-page-1.png and /dev/null differ
diff --git a/docs/docs/administration/img/repair-page.png b/docs/docs/administration/img/repair-page.png
deleted file mode 100644
index b6ae7e40b1e8e..0000000000000
Binary files a/docs/docs/administration/img/repair-page.png and /dev/null differ
diff --git a/docs/docs/administration/img/reset-admin-password.png b/docs/docs/administration/img/reset-admin-password.png
deleted file mode 100644
index 57ee230d348c8..0000000000000
Binary files a/docs/docs/administration/img/reset-admin-password.png and /dev/null differ
diff --git a/docs/docs/administration/img/reset-admin-password.webp b/docs/docs/administration/img/reset-admin-password.webp
new file mode 100644
index 0000000000000..5062d24a6b79f
Binary files /dev/null and b/docs/docs/administration/img/reset-admin-password.webp differ
diff --git a/docs/docs/administration/img/server-stats.png b/docs/docs/administration/img/server-stats.png
deleted file mode 100644
index 0d9adf276525b..0000000000000
Binary files a/docs/docs/administration/img/server-stats.png and /dev/null differ
diff --git a/docs/docs/administration/img/server-stats.webp b/docs/docs/administration/img/server-stats.webp
new file mode 100644
index 0000000000000..3048c38b6624a
Binary files /dev/null and b/docs/docs/administration/img/server-stats.webp differ
diff --git a/docs/docs/administration/img/user-management-update.png b/docs/docs/administration/img/user-management-update.png
deleted file mode 100644
index f494750edc102..0000000000000
Binary files a/docs/docs/administration/img/user-management-update.png and /dev/null differ
diff --git a/docs/docs/administration/img/user-management-update.webp b/docs/docs/administration/img/user-management-update.webp
new file mode 100644
index 0000000000000..00dda77ce39f7
Binary files /dev/null and b/docs/docs/administration/img/user-management-update.webp differ
diff --git a/docs/docs/administration/img/user-notifications-settings.png b/docs/docs/administration/img/user-notifications-settings.png
deleted file mode 100644
index d65e4730c7d3b..0000000000000
Binary files a/docs/docs/administration/img/user-notifications-settings.png and /dev/null differ
diff --git a/docs/docs/administration/img/user-notifications-settings.webp b/docs/docs/administration/img/user-notifications-settings.webp
new file mode 100644
index 0000000000000..301dce7c6b23d
Binary files /dev/null and b/docs/docs/administration/img/user-notifications-settings.webp differ
diff --git a/docs/docs/administration/img/user-notifications-templates.png b/docs/docs/administration/img/user-notifications-templates.png
deleted file mode 100644
index 150d39b7a6a2a..0000000000000
Binary files a/docs/docs/administration/img/user-notifications-templates.png and /dev/null differ
diff --git a/docs/docs/administration/img/user-notifications-templates.webp b/docs/docs/administration/img/user-notifications-templates.webp
new file mode 100644
index 0000000000000..a40bf824140de
Binary files /dev/null and b/docs/docs/administration/img/user-notifications-templates.webp differ
diff --git a/docs/docs/administration/img/user-quota-size.png b/docs/docs/administration/img/user-quota-size.png
deleted file mode 100644
index bddaea716d132..0000000000000
Binary files a/docs/docs/administration/img/user-quota-size.png and /dev/null differ
diff --git a/docs/docs/administration/img/user-quota-size.webp b/docs/docs/administration/img/user-quota-size.webp
new file mode 100644
index 0000000000000..9b5464ba3c5f6
Binary files /dev/null and b/docs/docs/administration/img/user-quota-size.webp differ
diff --git a/docs/docs/administration/img/user-storage-label.png b/docs/docs/administration/img/user-storage-label.png
deleted file mode 100644
index 686793c641973..0000000000000
Binary files a/docs/docs/administration/img/user-storage-label.png and /dev/null differ
diff --git a/docs/docs/administration/img/user-storage-label.webp b/docs/docs/administration/img/user-storage-label.webp
new file mode 100644
index 0000000000000..5d54e4389992f
Binary files /dev/null and b/docs/docs/administration/img/user-storage-label.webp differ
diff --git a/docs/docs/administration/jobs-workers.md b/docs/docs/administration/jobs-workers.md
index fde39a2e3af7c..75f97de982621 100644
--- a/docs/docs/administration/jobs-workers.md
+++ b/docs/docs/administration/jobs-workers.md
@@ -48,8 +48,4 @@ When a new asset is uploaded it kicks off a series of jobs, which include metada
Additionally, some jobs run on a schedule, which is every night at midnight. This schedule, with the exception of [External Libraries](/docs/features/libraries) scanning, cannot be changed.
-:::info
-Storage Migration job can be run after changing the [Storage Template](/docs/administration/storage-template.mdx), in order to apply the change to the existing library.
-:::
-
diff --git a/docs/docs/administration/repair-page.md b/docs/docs/administration/repair-page.md
deleted file mode 100644
index 4246c7e39c81d..0000000000000
--- a/docs/docs/administration/repair-page.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# Repair Page
-
-:::warning
-This feature is currently disabled and will be reworked in the near future.
-:::
-
-The repair page is designed to give information to the system administrator about files that are not tracked, or offline paths.
-
-## Natural State
-
-In this situation, everything is in its place and there is no problem that the system administrator should be aware of.
-
-
-
-## Any Other Situation
-
-:::note RAM Usage
-Several users report a situation where the page fails to load. In order to solve this problem you should try to allocate more RAM to Immich, if the problem continues, you should stop using the reverse proxy while loading the page.
-:::
-
-In any other situation, there are 3 different options that can appear:
-
-- MATCHES - These files are matched by their checksums.
-
-- OFFLINE PATHS - These files are the result of manually deleting files from immich or a failed file move in the past (losing track of a file).
-
-- UNTRACKED FILES - These files are not tracked by the application. They can be the result of failed moves, interrupted uploads, or left behind due to a bug.
-
-In addition, you can download the information from a page, mark everything (in order to check hashing) and correct the problem if a match is found in the hashing.
-
-
diff --git a/docs/docs/administration/reverse-proxy.md b/docs/docs/administration/reverse-proxy.md
index 25762ad7f122d..06fe3ee5bb841 100644
--- a/docs/docs/administration/reverse-proxy.md
+++ b/docs/docs/administration/reverse-proxy.md
@@ -6,6 +6,10 @@ Users can deploy a custom reverse proxy that forwards requests to Immich. This w
The Repair page can take a long time to load. To avoid server timeouts or errors, we recommend specifying a timeout of at least 10 minutes on your proxy server.
:::
+:::caution
+Immich does not support being served on a sub-path such as `location /immich {`. It has to be served on the root path of a (sub)domain.
+:::
+
### Nginx example config
Below is an example config for nginx. Make sure to set `public_url` to the front-facing URL of your instance, and `backend_url` to the path of the Immich server.
diff --git a/docs/docs/administration/server-stats.md b/docs/docs/administration/server-stats.md
index eb5f72a41d5e4..245056e2eaf41 100644
--- a/docs/docs/administration/server-stats.md
+++ b/docs/docs/administration/server-stats.md
@@ -1,13 +1,9 @@
# Server Stats
-Server statistics to show the total number of videos, photos, and usage per user.
-
-:::info
-If a storage quota has been defined for the user, the usage number will be displayed as a percentage of the total storage quota allocated to them.
-:::
+Server statistics to show the total number of videos, photos, usage and quota per user.
:::info External library
-External libraries are not included in the storage quota.
+External libraries are not included in the storage quota due to custom mount points.
:::
-
+
diff --git a/docs/docs/administration/system-settings.md b/docs/docs/administration/system-settings.md
index d6c219a168287..92b910a01bc50 100644
--- a/docs/docs/administration/system-settings.md
+++ b/docs/docs/administration/system-settings.md
@@ -1,10 +1,6 @@
# System Settings
-On the system settings page, the administrator can manage global settings for the Immich instance.
-
-:::note
-Viewing and modifying the system settings is restricted to the Administrator.
-:::
+The admin user can manage settings for the Immich instance here.
:::tip
You can always return to the default settings by clicking the `Reset to default` button.
@@ -104,8 +100,7 @@ You can choose to disable a certain type of machine learning, for example smart
### Smart Search
-The [smart search](/docs/features/smart-search) settings are designed to allow the search tool to be used using [CLIP](https://openai.com/research/clip) models that [can be changed](/docs/FAQ#can-i-use-a-custom-clip-model), different models will necessarily give better results but may consume more processing power, when changing a model it is mandatory to re-run the
-Smart Search job on all images to fully apply the change.
+The [smart search](/docs/features/searching) settings allow you to change the [CLIP model](https://openai.com/research/clip). Larger models will typically provide [more accurate search results](https://github.com/immich-app/immich/discussions/11862) but consume more processing power and RAM. When [changing the CLIP model](/docs/FAQ#can-i-use-a-custom-clip-model) it is mandatory to re-run the Smart Search job on all images to fully apply the change.
:::info Internet connection
Changing models requires a connection to the Internet to download the model.
diff --git a/docs/docs/administration/user-management.mdx b/docs/docs/administration/user-management.mdx
index c6fb7d5058cc5..9375730f1ec2e 100644
--- a/docs/docs/administration/user-management.mdx
+++ b/docs/docs/administration/user-management.mdx
@@ -41,7 +41,7 @@ The system administrator can see the usage quota percentage of all users in Serv
External libraries don't take up space from the storage quota.
:::
-
+
## Set Storage Label For User
@@ -51,13 +51,13 @@ To apply a storage template, go to the Administration page -> click on the penci
To apply the Storage Label to previously uploaded assets, run the Storage Migration Job.
:::
-
+
## Password Reset
To reset a user's password, click the pencil icon to edit a user, then click "Reset Password". The user's password will be reset to random password and they have to change it next time the sign in.
-
+
## Delete a User
@@ -72,7 +72,7 @@ You can customize the time of the deletion of the users from the Administration
The user deletion job runs at midnight to check for users that are ready for deletion. Changes to this setting will be evaluated at the next execution.
:::
-
+
### Immediately Remove User
@@ -80,4 +80,4 @@ You can choose to delete a user immediately by checking the box
`Queue user and assets for immediate deletion` in the deletion process, this will immediately remove the user and all assets.
This cannot be undone and the files cannot be recovered.
-
+
diff --git a/docs/docs/developer/architecture.mdx b/docs/docs/developer/architecture.mdx
index 7b5debef4c0da..2910f4db5659e 100644
--- a/docs/docs/developer/architecture.mdx
+++ b/docs/docs/developer/architecture.mdx
@@ -2,7 +2,7 @@
sidebar_position: 1
---
-import AppArchitecture from './img/app-architecture.png';
+import AppArchitecture from './img/app-architecture.webp';
import MobileArchitecture from './img/immich_mobile_architecture.svg';
# Architecture
diff --git a/docs/docs/developer/img/app-architecture.png b/docs/docs/developer/img/app-architecture.png
deleted file mode 100644
index 68f20633c5cc0..0000000000000
Binary files a/docs/docs/developer/img/app-architecture.png and /dev/null differ
diff --git a/docs/docs/developer/img/app-architecture.webp b/docs/docs/developer/img/app-architecture.webp
new file mode 100644
index 0000000000000..365369c62dd16
Binary files /dev/null and b/docs/docs/developer/img/app-architecture.webp differ
diff --git a/docs/docs/features/automatic-backup.md b/docs/docs/features/automatic-backup.md
index 81444d9f37488..8fcbedaa6edbe 100644
--- a/docs/docs/features/automatic-backup.md
+++ b/docs/docs/features/automatic-backup.md
@@ -1,8 +1,14 @@
# Automatic Backup
-A guide on how the foreground and background automatic backup works.
+Immich supports uploading photos and videos from your mobile device to the server automatically.
-
+---
+
+You can enable the settings by accessing the upload options from the upload page
+
+
+
+
## Foreground backup
@@ -10,9 +16,9 @@ If foreground backup is enabled: whenever the app is opened or resumed, it will
## Background backup
-Background backup is available thanks to the contribution effort of [@fyfrey](https://github.com/fyfrey) and [@martyfuhry](https://github.com/martyfuhry).
+This feature is intended for everyday use. For initial bulk uploading, please use the foreground upload feature. For more information on why background upload is not working as expected, please refer to the [FAQ](/docs/FAQ#why-does-foreground-backup-stop-when-i-navigate-away-from-the-app-shouldnt-it-transfer-the-job-to-background-backup).
-If background backup is enabled. The app will periodically check if there are any new photos or videos in the selected album(s) to be uploaded to the cloud. If there are, it will upload them to the cloud in the background.
+If background backup is enabled. The app will periodically check if there are any new photos or videos in the selected album(s) to be uploaded to the server. If there are, it will upload them to the cloud in the background.
:::info Note
@@ -30,7 +36,7 @@ If background backup is enabled. The app will periodically check if there are an
- You must enable **Background App Refresh** for the app to work in the background. You can enable it in the Settings app under General > Background App Refresh.
-
+
:::
diff --git a/docs/docs/features/command-line-interface.md b/docs/docs/features/command-line-interface.md
index d616f77e8f032..f249d6809f83e 100644
--- a/docs/docs/features/command-line-interface.md
+++ b/docs/docs/features/command-line-interface.md
@@ -170,4 +170,4 @@ immich upload --include-hidden --recursive directory/
The API key can be obtained in the user setting panel on the web interface.
-![Obtain Api Key](./img/obtain-api-key.png)
+![Obtain Api Key](./img/obtain-api-key.webp)
diff --git a/docs/docs/features/facial-recognition.md b/docs/docs/features/facial-recognition.md
index db266b6f3e6d7..32ca6c87ba2fc 100644
--- a/docs/docs/features/facial-recognition.md
+++ b/docs/docs/features/facial-recognition.md
@@ -6,15 +6,15 @@ Immich recognizes faces in your photos and videos and groups them together into
The list of people is shown in the Explore page.
-
+
Upon clicking on a person, a list of assets that contain their face will be shown.
-
+
The asset detail view will also show the faces that are recognized in the asset.
-
+
## Actions
@@ -28,7 +28,7 @@ Additional actions you can do include:
It can be found from the app bar when you access the detail view of a person.
-
+
## How Face Detection Works
diff --git a/docs/docs/features/folder-view.md b/docs/docs/features/folder-view.md
new file mode 100644
index 0000000000000..3534a22081181
--- /dev/null
+++ b/docs/docs/features/folder-view.md
@@ -0,0 +1,17 @@
+# Folder View
+
+Folder view provides an additional view besides the timeline that is similar to a file explorer. It allows you to navigate through the folders and files in the library. This feature is handy for a highly curated and customized external library or a nicely configured storage template.
+
+You can enable this feature under [`Account Settings > Features > Folder View`](https://my.immich.app/user-settings?isOpen=feature+folders)
+
+## Enable folder view
+
+
+
+## Usage
+
+You can then navigate to the view from the sidebar to explore the folders and files in your library.
+
+
+
+
diff --git a/docs/docs/features/hardware-transcoding.md b/docs/docs/features/hardware-transcoding.md
index a561bafa8030d..18c7f6b29814b 100644
--- a/docs/docs/features/hardware-transcoding.md
+++ b/docs/docs/features/hardware-transcoding.md
@@ -1,4 +1,4 @@
-# Hardware Transcoding [Experimental]
+# Hardware Transcoding
This feature allows you to use a GPU to accelerate transcoding and reduce CPU load.
Note that hardware transcoding produces significantly larger videos than software transcoding with similar settings, typically with lower quality. Using slow presets and preferring more efficient codecs can narrow this gap.
diff --git a/docs/docs/features/img/background-app-refresh.png b/docs/docs/features/img/background-app-refresh.png
deleted file mode 100644
index c96f748f23e23..0000000000000
Binary files a/docs/docs/features/img/background-app-refresh.png and /dev/null differ
diff --git a/docs/docs/features/img/background-app-refresh.webp b/docs/docs/features/img/background-app-refresh.webp
new file mode 100644
index 0000000000000..d98e922d6083c
Binary files /dev/null and b/docs/docs/features/img/background-app-refresh.webp differ
diff --git a/docs/docs/features/img/background-foreground-backup.png b/docs/docs/features/img/background-foreground-backup.png
deleted file mode 100644
index 72a64aeba4add..0000000000000
Binary files a/docs/docs/features/img/background-foreground-backup.png and /dev/null differ
diff --git a/docs/docs/features/img/background-foreground-backup.webp b/docs/docs/features/img/background-foreground-backup.webp
new file mode 100644
index 0000000000000..dddef137d2ba4
Binary files /dev/null and b/docs/docs/features/img/background-foreground-backup.webp differ
diff --git a/docs/docs/features/img/backup-settings-access.webp b/docs/docs/features/img/backup-settings-access.webp
new file mode 100644
index 0000000000000..06243af79934f
Binary files /dev/null and b/docs/docs/features/img/backup-settings-access.webp differ
diff --git a/docs/docs/features/img/facial-recognition-1.png b/docs/docs/features/img/facial-recognition-1.png
deleted file mode 100644
index c6b60005416dd..0000000000000
Binary files a/docs/docs/features/img/facial-recognition-1.png and /dev/null differ
diff --git a/docs/docs/features/img/facial-recognition-1.webp b/docs/docs/features/img/facial-recognition-1.webp
new file mode 100644
index 0000000000000..dd96393b06e1a
Binary files /dev/null and b/docs/docs/features/img/facial-recognition-1.webp differ
diff --git a/docs/docs/features/img/facial-recognition-2.png b/docs/docs/features/img/facial-recognition-2.png
deleted file mode 100644
index f339380d307f5..0000000000000
Binary files a/docs/docs/features/img/facial-recognition-2.png and /dev/null differ
diff --git a/docs/docs/features/img/facial-recognition-2.webp b/docs/docs/features/img/facial-recognition-2.webp
new file mode 100644
index 0000000000000..3c910fd315a38
Binary files /dev/null and b/docs/docs/features/img/facial-recognition-2.webp differ
diff --git a/docs/docs/features/img/facial-recognition-3.png b/docs/docs/features/img/facial-recognition-3.png
deleted file mode 100644
index 73ab7dc894b66..0000000000000
Binary files a/docs/docs/features/img/facial-recognition-3.png and /dev/null differ
diff --git a/docs/docs/features/img/facial-recognition-3.webp b/docs/docs/features/img/facial-recognition-3.webp
new file mode 100644
index 0000000000000..fd0180ac66acc
Binary files /dev/null and b/docs/docs/features/img/facial-recognition-3.webp differ
diff --git a/docs/docs/features/img/facial-recognition-4.png b/docs/docs/features/img/facial-recognition-4.png
deleted file mode 100644
index 718ee6d450b15..0000000000000
Binary files a/docs/docs/features/img/facial-recognition-4.png and /dev/null differ
diff --git a/docs/docs/features/img/facial-recognition-4.webp b/docs/docs/features/img/facial-recognition-4.webp
new file mode 100644
index 0000000000000..07dd378e9ebc6
Binary files /dev/null and b/docs/docs/features/img/facial-recognition-4.webp differ
diff --git a/docs/docs/features/img/folder-access.webp b/docs/docs/features/img/folder-access.webp
new file mode 100644
index 0000000000000..aad9443559119
Binary files /dev/null and b/docs/docs/features/img/folder-access.webp differ
diff --git a/docs/docs/features/img/folder-view-1.webp b/docs/docs/features/img/folder-view-1.webp
new file mode 100644
index 0000000000000..be4a55873d085
Binary files /dev/null and b/docs/docs/features/img/folder-view-1.webp differ
diff --git a/docs/docs/features/img/folder-view-enable.webp b/docs/docs/features/img/folder-view-enable.webp
new file mode 100644
index 0000000000000..784ecffc736d3
Binary files /dev/null and b/docs/docs/features/img/folder-view-enable.webp differ
diff --git a/docs/docs/features/img/folder-view.png b/docs/docs/features/img/folder-view.png
deleted file mode 100644
index 8193b10ed96dc..0000000000000
Binary files a/docs/docs/features/img/folder-view.png and /dev/null differ
diff --git a/docs/docs/features/img/library-custom-scan-interval.png b/docs/docs/features/img/library-custom-scan-interval.png
deleted file mode 100644
index 3d2e8d3dbdfab..0000000000000
Binary files a/docs/docs/features/img/library-custom-scan-interval.png and /dev/null differ
diff --git a/docs/docs/features/img/library-custom-scan-interval.webp b/docs/docs/features/img/library-custom-scan-interval.webp
new file mode 100644
index 0000000000000..d9861ada9710f
Binary files /dev/null and b/docs/docs/features/img/library-custom-scan-interval.webp differ
diff --git a/docs/docs/features/img/me.png b/docs/docs/features/img/me.png
deleted file mode 100644
index 8aa92ad3858ec..0000000000000
Binary files a/docs/docs/features/img/me.png and /dev/null differ
diff --git a/docs/docs/features/img/me.webp b/docs/docs/features/img/me.webp
new file mode 100644
index 0000000000000..a177086ec297c
Binary files /dev/null and b/docs/docs/features/img/me.webp differ
diff --git a/docs/docs/features/img/mobile-upload-open-photo.png b/docs/docs/features/img/mobile-upload-open-photo.png
deleted file mode 100644
index 4e51826fd7bf5..0000000000000
Binary files a/docs/docs/features/img/mobile-upload-open-photo.png and /dev/null differ
diff --git a/docs/docs/features/img/mobile-upload-open-photo.webp b/docs/docs/features/img/mobile-upload-open-photo.webp
new file mode 100644
index 0000000000000..fafa4c9048246
Binary files /dev/null and b/docs/docs/features/img/mobile-upload-open-photo.webp differ
diff --git a/docs/docs/features/img/mobile-upload-selected-photos.png b/docs/docs/features/img/mobile-upload-selected-photos.png
deleted file mode 100644
index 61360842c32c1..0000000000000
Binary files a/docs/docs/features/img/mobile-upload-selected-photos.png and /dev/null differ
diff --git a/docs/docs/features/img/mobile-upload-selected-photos.webp b/docs/docs/features/img/mobile-upload-selected-photos.webp
new file mode 100644
index 0000000000000..3c69d0c4590f4
Binary files /dev/null and b/docs/docs/features/img/mobile-upload-selected-photos.webp differ
diff --git a/docs/docs/features/img/my-wife.png b/docs/docs/features/img/my-wife.png
deleted file mode 100644
index 45fda8d407242..0000000000000
Binary files a/docs/docs/features/img/my-wife.png and /dev/null differ
diff --git a/docs/docs/features/img/my-wife.webp b/docs/docs/features/img/my-wife.webp
new file mode 100644
index 0000000000000..cac17c1a37fa5
Binary files /dev/null and b/docs/docs/features/img/my-wife.webp differ
diff --git a/docs/docs/features/img/obtain-api-key.png b/docs/docs/features/img/obtain-api-key.png
deleted file mode 100644
index 9821e74814068..0000000000000
Binary files a/docs/docs/features/img/obtain-api-key.png and /dev/null differ
diff --git a/docs/docs/features/img/obtain-api-key.webp b/docs/docs/features/img/obtain-api-key.webp
new file mode 100644
index 0000000000000..5706d39524e56
Binary files /dev/null and b/docs/docs/features/img/obtain-api-key.webp differ
diff --git a/docs/docs/features/img/partner-sharing-1.png b/docs/docs/features/img/partner-sharing-1.png
deleted file mode 100644
index 48785a353c16b..0000000000000
Binary files a/docs/docs/features/img/partner-sharing-1.png and /dev/null differ
diff --git a/docs/docs/features/img/partner-sharing-1.webp b/docs/docs/features/img/partner-sharing-1.webp
new file mode 100644
index 0000000000000..489cfa9a7024e
Binary files /dev/null and b/docs/docs/features/img/partner-sharing-1.webp differ
diff --git a/docs/docs/features/img/partner-sharing-2.png b/docs/docs/features/img/partner-sharing-2.png
deleted file mode 100644
index 086795b232a43..0000000000000
Binary files a/docs/docs/features/img/partner-sharing-2.png and /dev/null differ
diff --git a/docs/docs/features/img/partner-sharing-2.webp b/docs/docs/features/img/partner-sharing-2.webp
new file mode 100644
index 0000000000000..d1d9b4df5f234
Binary files /dev/null and b/docs/docs/features/img/partner-sharing-2.webp differ
diff --git a/docs/docs/features/img/partner-sharing-3.png b/docs/docs/features/img/partner-sharing-3.png
deleted file mode 100644
index a8627cf859b33..0000000000000
Binary files a/docs/docs/features/img/partner-sharing-3.png and /dev/null differ
diff --git a/docs/docs/features/img/partner-sharing-3.webp b/docs/docs/features/img/partner-sharing-3.webp
new file mode 100644
index 0000000000000..47bb89d07231d
Binary files /dev/null and b/docs/docs/features/img/partner-sharing-3.webp differ
diff --git a/docs/docs/features/img/partner-sharing-4.png b/docs/docs/features/img/partner-sharing-4.png
deleted file mode 100644
index eca121ff78ac7..0000000000000
Binary files a/docs/docs/features/img/partner-sharing-4.png and /dev/null differ
diff --git a/docs/docs/features/img/partner-sharing-4.webp b/docs/docs/features/img/partner-sharing-4.webp
new file mode 100644
index 0000000000000..4bdf9263e7014
Binary files /dev/null and b/docs/docs/features/img/partner-sharing-4.webp differ
diff --git a/docs/docs/features/img/partner-sharing-5.png b/docs/docs/features/img/partner-sharing-5.png
deleted file mode 100644
index 3759e13d9a2cf..0000000000000
Binary files a/docs/docs/features/img/partner-sharing-5.png and /dev/null differ
diff --git a/docs/docs/features/img/partner-sharing-5.webp b/docs/docs/features/img/partner-sharing-5.webp
new file mode 100644
index 0000000000000..80ab5da0370f7
Binary files /dev/null and b/docs/docs/features/img/partner-sharing-5.webp differ
diff --git a/docs/docs/features/img/partner-sharing-6.png b/docs/docs/features/img/partner-sharing-6.png
deleted file mode 100644
index b9aee5143a540..0000000000000
Binary files a/docs/docs/features/img/partner-sharing-6.png and /dev/null differ
diff --git a/docs/docs/features/img/partner-sharing-6.webp b/docs/docs/features/img/partner-sharing-6.webp
new file mode 100644
index 0000000000000..6b1f12d577ffb
Binary files /dev/null and b/docs/docs/features/img/partner-sharing-6.webp differ
diff --git a/docs/docs/features/img/partner-sharing-7.png b/docs/docs/features/img/partner-sharing-7.png
deleted file mode 100644
index 4cd4be60b5e08..0000000000000
Binary files a/docs/docs/features/img/partner-sharing-7.png and /dev/null differ
diff --git a/docs/docs/features/img/partner-sharing-7.webp b/docs/docs/features/img/partner-sharing-7.webp
new file mode 100644
index 0000000000000..7a71107f4ea47
Binary files /dev/null and b/docs/docs/features/img/partner-sharing-7.webp differ
diff --git a/docs/docs/features/img/partner-sharing-8.webp b/docs/docs/features/img/partner-sharing-8.webp
new file mode 100644
index 0000000000000..d3f37ecc26af1
Binary files /dev/null and b/docs/docs/features/img/partner-sharing-8.webp differ
diff --git a/docs/docs/features/img/public-shared-link-album.webp b/docs/docs/features/img/public-shared-link-album.webp
new file mode 100644
index 0000000000000..1b68cb08694ca
Binary files /dev/null and b/docs/docs/features/img/public-shared-link-album.webp differ
diff --git a/docs/docs/features/img/public-shared-link-form.webp b/docs/docs/features/img/public-shared-link-form.webp
new file mode 100644
index 0000000000000..1f2a79169132d
Binary files /dev/null and b/docs/docs/features/img/public-shared-link-form.webp differ
diff --git a/docs/docs/features/img/public-shared-link-individual.webp b/docs/docs/features/img/public-shared-link-individual.webp
new file mode 100644
index 0000000000000..63ddb04668d28
Binary files /dev/null and b/docs/docs/features/img/public-shared-link-individual.webp differ
diff --git a/docs/docs/features/img/reverse-geocoding-mobile1.png b/docs/docs/features/img/reverse-geocoding-mobile1.png
deleted file mode 100644
index 54ffad3f962d5..0000000000000
Binary files a/docs/docs/features/img/reverse-geocoding-mobile1.png and /dev/null differ
diff --git a/docs/docs/features/img/reverse-geocoding-mobile1.webp b/docs/docs/features/img/reverse-geocoding-mobile1.webp
new file mode 100644
index 0000000000000..8df3a0dd6e10a
Binary files /dev/null and b/docs/docs/features/img/reverse-geocoding-mobile1.webp differ
diff --git a/docs/docs/features/img/reverse-geocoding-mobile2.png b/docs/docs/features/img/reverse-geocoding-mobile2.png
deleted file mode 100644
index f6858c50c4c88..0000000000000
Binary files a/docs/docs/features/img/reverse-geocoding-mobile2.png and /dev/null differ
diff --git a/docs/docs/features/img/reverse-geocoding-mobile2.webp b/docs/docs/features/img/reverse-geocoding-mobile2.webp
new file mode 100644
index 0000000000000..d0c4c3e39d0bf
Binary files /dev/null and b/docs/docs/features/img/reverse-geocoding-mobile2.webp differ
diff --git a/docs/docs/features/img/reverse-geocoding-mobile3.webp b/docs/docs/features/img/reverse-geocoding-mobile3.webp
new file mode 100644
index 0000000000000..542ac678ac5cd
Binary files /dev/null and b/docs/docs/features/img/reverse-geocoding-mobile3.webp differ
diff --git a/docs/docs/features/img/search-ex-1.png b/docs/docs/features/img/search-ex-1.png
deleted file mode 100644
index fa943d31b1c08..0000000000000
Binary files a/docs/docs/features/img/search-ex-1.png and /dev/null differ
diff --git a/docs/docs/features/img/search-ex-1.webp b/docs/docs/features/img/search-ex-1.webp
new file mode 100644
index 0000000000000..f441fc4789149
Binary files /dev/null and b/docs/docs/features/img/search-ex-1.webp differ
diff --git a/docs/docs/features/img/shared-album-mobile.webp b/docs/docs/features/img/shared-album-mobile.webp
new file mode 100644
index 0000000000000..13c4ac24f9ae2
Binary files /dev/null and b/docs/docs/features/img/shared-album-mobile.webp differ
diff --git a/docs/docs/features/img/shared-album-user-selection.webp b/docs/docs/features/img/shared-album-user-selection.webp
new file mode 100644
index 0000000000000..5852233bd3f81
Binary files /dev/null and b/docs/docs/features/img/shared-album-user-selection.webp differ
diff --git a/docs/docs/features/img/shared-album.webp b/docs/docs/features/img/shared-album.webp
new file mode 100644
index 0000000000000..dcd03c6b75256
Binary files /dev/null and b/docs/docs/features/img/shared-album.webp differ
diff --git a/docs/docs/features/img/sidecar-jobs.png b/docs/docs/features/img/sidecar-jobs.png
deleted file mode 100644
index efa8bce82bc76..0000000000000
Binary files a/docs/docs/features/img/sidecar-jobs.png and /dev/null differ
diff --git a/docs/docs/features/img/sidecar-jobs.webp b/docs/docs/features/img/sidecar-jobs.webp
new file mode 100644
index 0000000000000..fd369b06cf58d
Binary files /dev/null and b/docs/docs/features/img/sidecar-jobs.webp differ
diff --git a/docs/docs/features/img/tag-creation.webp b/docs/docs/features/img/tag-creation.webp
new file mode 100644
index 0000000000000..9fe5aaffd41b6
Binary files /dev/null and b/docs/docs/features/img/tag-creation.webp differ
diff --git a/docs/docs/features/img/tag-enable.webp b/docs/docs/features/img/tag-enable.webp
new file mode 100644
index 0000000000000..523d5fc1ec669
Binary files /dev/null and b/docs/docs/features/img/tag-enable.webp differ
diff --git a/docs/docs/features/img/tag-form.webp b/docs/docs/features/img/tag-form.webp
new file mode 100644
index 0000000000000..c73c59dd6f75b
Binary files /dev/null and b/docs/docs/features/img/tag-form.webp differ
diff --git a/docs/docs/features/img/tag-view.webp b/docs/docs/features/img/tag-view.webp
new file mode 100644
index 0000000000000..25f842b879e98
Binary files /dev/null and b/docs/docs/features/img/tag-view.webp differ
diff --git a/docs/docs/features/img/user-change-password.png b/docs/docs/features/img/user-change-password.png
deleted file mode 100644
index 66741168af692..0000000000000
Binary files a/docs/docs/features/img/user-change-password.png and /dev/null differ
diff --git a/docs/docs/features/img/user-change-password.webp b/docs/docs/features/img/user-change-password.webp
new file mode 100644
index 0000000000000..a5d36ea2d9ec2
Binary files /dev/null and b/docs/docs/features/img/user-change-password.webp differ
diff --git a/docs/docs/features/img/user-popup.png b/docs/docs/features/img/user-popup.png
deleted file mode 100644
index dc090f09c29ad..0000000000000
Binary files a/docs/docs/features/img/user-popup.png and /dev/null differ
diff --git a/docs/docs/features/img/user-popup.webp b/docs/docs/features/img/user-popup.webp
new file mode 100644
index 0000000000000..f3d3c08e5fbfa
Binary files /dev/null and b/docs/docs/features/img/user-popup.webp differ
diff --git a/docs/docs/features/img/user-profile.png b/docs/docs/features/img/user-profile.png
deleted file mode 100644
index bf7bc78865a4c..0000000000000
Binary files a/docs/docs/features/img/user-profile.png and /dev/null differ
diff --git a/docs/docs/features/img/user-profile.webp b/docs/docs/features/img/user-profile.webp
new file mode 100644
index 0000000000000..bba9499557da1
Binary files /dev/null and b/docs/docs/features/img/user-profile.webp differ
diff --git a/docs/docs/features/img/user-settings-1.webp b/docs/docs/features/img/user-settings-1.webp
new file mode 100644
index 0000000000000..0bbaab1415824
Binary files /dev/null and b/docs/docs/features/img/user-settings-1.webp differ
diff --git a/docs/docs/features/img/user-settings-2.webp b/docs/docs/features/img/user-settings-2.webp
new file mode 100644
index 0000000000000..a806b71c60e44
Binary files /dev/null and b/docs/docs/features/img/user-settings-2.webp differ
diff --git a/docs/docs/features/img/user-settings-3.webp b/docs/docs/features/img/user-settings-3.webp
new file mode 100644
index 0000000000000..8f866eca0ac8a
Binary files /dev/null and b/docs/docs/features/img/user-settings-3.webp differ
diff --git a/docs/docs/features/img/xmp-sidecars.png b/docs/docs/features/img/xmp-sidecars.png
deleted file mode 100644
index c19697c62bceb..0000000000000
Binary files a/docs/docs/features/img/xmp-sidecars.png and /dev/null differ
diff --git a/docs/docs/features/img/xmp-sidecars.webp b/docs/docs/features/img/xmp-sidecars.webp
new file mode 100644
index 0000000000000..f00b32c730145
Binary files /dev/null and b/docs/docs/features/img/xmp-sidecars.webp differ
diff --git a/docs/docs/features/libraries.md b/docs/docs/features/libraries.md
index 1d6028935f9a3..6a1dba9ebaab2 100644
--- a/docs/docs/features/libraries.md
+++ b/docs/docs/features/libraries.md
@@ -151,19 +151,13 @@ Within seconds, the assets from the old-pics and videos folders should show up i
### Folder view
-:::info
-This feature also exists for assets uploaded other than through external libraries.
-:::tip
-You can use the storage template migration feature for the best experience with uploaded assets in this view.
-:::
-
-You can browse your photos and videos by folder like in a file explorer.
+Folder view provides an additional view besides the timeline that is similar to a file explorer. It allows you to navigate through the folders and files in the library. This feature is handy for a highly curated and customized external library or a nicely configured storage template.
-Enable this feature from the Users Settings > Features > Folders.
+You can enable this feature under [`Account Settings > Features > Folder View`](https://my.immich.app/user-settings?isOpen=feature+folders)
The UI is currently only available for the web; mobile will come in a subsequent release.
-
+
### Set Custom Scan Interval
@@ -174,4 +168,4 @@ Only an admin can do this.
You can define a custom interval for the trigger external library rescan under Administration -> Settings -> Library.
You can set the scanning interval using the preset or cron format. For more information you can refer to [Crontab Guru](https://crontab.guru/).
-
+
diff --git a/docs/docs/features/ml-hardware-acceleration.md b/docs/docs/features/ml-hardware-acceleration.md
index ca1cb8edb1e99..fdf6149ed90ba 100644
--- a/docs/docs/features/ml-hardware-acceleration.md
+++ b/docs/docs/features/ml-hardware-acceleration.md
@@ -1,4 +1,4 @@
-# Hardware-Accelerated Machine Learning [Experimental]
+# Hardware-Accelerated Machine Learning
This feature allows you to use a GPU to accelerate machine learning tasks, such as Smart Search and Facial Recognition, while reducing CPU load.
As this is a new feature, it is still experimental and may not work on all systems.
diff --git a/docs/docs/features/mobile-app.mdx b/docs/docs/features/mobile-app.mdx
index 3b7f2bb9e2bcf..423e66d9eeab1 100644
--- a/docs/docs/features/mobile-app.mdx
+++ b/docs/docs/features/mobile-app.mdx
@@ -45,12 +45,12 @@ This will enable a small cloud icon on the bottom right corner of the asset tile
Now make sure that the local album is selected in the backup screen (steps 1-2 above). You can find these albums listed in **Library -> On this device**. To selectively upload photos from these albums, simply select the local-only photos and tap on "Upload" button in the dynamic bottom menu.
diff --git a/docs/docs/features/partner-sharing.md b/docs/docs/features/partner-sharing.md
index c80ff384f3ab8..1934344d011b9 100644
--- a/docs/docs/features/partner-sharing.md
+++ b/docs/docs/features/partner-sharing.md
@@ -1,57 +1,60 @@
# Partner Sharing
-:::tip Sharing specific assets
-For sharing a specific set of assets, you can use the shared album feature of Immich.
-:::
-
Immich allows you to share your library with other users. They can then view your library and download the assets. You can manage Partner Sharing from the [User Settings](docs/features/user-settings.md) page on the web.
-Partner Sharing includes:
+Partner sharing includes:
- Access to all non-archived and trashed photos and videos.
- Access to all metadata, including GPS information.
- Access to share assets via shared links, albums, etc.
-:::info
-Partner sharing is one-way. To view your partner's assets, they must also share them with you.
-:::
+Partner sharing does _not_ include:
-## Sharing with a Partner
+- Already existing partner albums
+- If an asset is favorited
+- People and facial recognition data
+
+:::note
+
+- Partner sharing is one-way. To view your partner's assets, they must also share them with you.
+- Partner sharing may result in displaying duplicate assets on the main timeline, as duplicates are only detected on a per-user basis.
-:::note Duplicates
-Partner sharing may result in displaying duplicate assets on the main timeline.
:::
-
+## Sharing with a Partner
+
+
-
+
-
+
## Viewing Partner Assets
Access partner assets via the Sharing page.
-
+
## Timeline Integration
Partner shared photos can be displayed in the main timeline. This feature can be enabled on a per-partner basis and can be viewed and updated on both the web and mobile app.
-### Web:
+### Web
+
+The option can be found at [`Account Settings > Partner Sharing > Show in timeline`](https://my.immich.app/user-settings?isOpen=partner-sharing)
-Account Settings -> Sharing -> Show in timeline
+
-
+### Mobile App
-### Mobile App:
+From the partner’s view, toggle the button
-From the partner’s view, on the top right corner of the app bar
+
-
+
## Removing Access
-In order to remove a partner, you can go to User -> Account Settings -> Sharing and click on the X button.
+In order to remove a partner, you can go to `User > Account Settings > Sharing` and click on the X button.
-
+
diff --git a/docs/docs/features/reverse-geocoding.md b/docs/docs/features/reverse-geocoding.md
index 108a6ea1b19c3..399bdd9b4851b 100644
--- a/docs/docs/features/reverse-geocoding.md
+++ b/docs/docs/features/reverse-geocoding.md
@@ -1,6 +1,6 @@
# Reverse Geocoding
-Immich supports [Reverse Geocoding](https://en.wikipedia.org/wiki/Reverse_geocoding) using data from the [GeoNames](https://www.geonames.org/) geographical database.
+Immich supports local [Reverse Geocoding](https://en.wikipedia.org/wiki/Reverse_geocoding) using data from the [GeoNames](https://www.geonames.org/) geographical database. This data is loaded into the Postgres database on each minor version upgrade, allowing all queries to be run on your own server.
## Extraction
@@ -8,7 +8,8 @@ During Exif Extraction, assets with latitudes and longitudes are reverse geocode
## Usage
-Data from a reverse geocode is displayed in the image details, and used in [Smart Search](/docs/features/smart-search.md).
+Data from a reverse geocode is displayed in the image details, and used in [Smart Search](/docs/features/searching.md).
-
-
+
+
+
diff --git a/docs/docs/features/smart-search.md b/docs/docs/features/searching.md
similarity index 85%
rename from docs/docs/features/smart-search.md
rename to docs/docs/features/searching.md
index dcbed4f3b4534..13547f6baca9f 100644
--- a/docs/docs/features/smart-search.md
+++ b/docs/docs/features/searching.md
@@ -1,11 +1,11 @@
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
-# Smart Search
+# Searching
-Immich uses Postgres as its search database for both metadata and smart search.
+Immich uses Postgres as its search database for both metadata and contextual CLIP search.
-Smart search is powered by the [pgvecto.rs](https://github.com/tensorchord/pgvecto.rs) extension, utilizing machine learning models like [CLIP](https://openai.com/research/clip) to provide relevant search results. This allows for freeform searches without requiring specific keywords in the image or video metadata.
+Contextual CLIP search is powered by the [pgvecto.rs](https://github.com/tensorchord/pgvecto.rs) extension, utilizing machine learning models like [CLIP](https://openai.com/research/clip) to provide relevant search results. This allows for freeform searches without requiring specific keywords in the image or video metadata.
## Advanced Search Filters
@@ -39,7 +39,7 @@ Some search examples:
-
+
diff --git a/docs/docs/features/shared-albums.md b/docs/docs/features/shared-albums.md
deleted file mode 100644
index dcf884bc9bbe5..0000000000000
--- a/docs/docs/features/shared-albums.md
+++ /dev/null
@@ -1,252 +0,0 @@
-# Shared Albums & Assets
-
-## Shared Albums
-
-import Tabs from '@theme/Tabs';
-import TabItem from '@theme/TabItem';
-
-Album sharing allows you to share assets with other users or with people from around the world via a link or invitation (for system users).
-
-When sharing shared albums, whats shared is:
-
-- The selected assets.
-- Metadata of the assets (Can be removed by sharing via link).
-
-## Shared Album Features
-
-- Download all assets as zip file (Web only).
- :::info Archive size limited.
- If the size of the album exceeds 4GB, the archive files will by default be divided into 4GB each. This can be changed on the user settings page.
- :::
-- Add a description to the album (Web only).
-- Slideshow view (Web only).
-- Add or remove photos to an album.
-- Comment on the album (for system users only).
-
-:::info
-When you create an album and it is not shared with anyone, it will be added to the Albums category.
-:::
-
-
-
-
-### Create a Shared Album
-
-1. Select the assets (Shift can be used for multiple selection).
-2. Click on the + on the top right -> add to a shared album.
-3. Name the new album and add the album.
-
-## Sharing Between Users
-
-### Shared Album Options
-
-- Add or remove users from the album.
- :::info remove user(s)
- When a user is removed from the album, the photos he uploaded will still appear in the album.
- :::
-- Enable or disable comments & likes.
-- Replace the album cover.
-- Display order (newest first / oldest first).
-
-To change these settings click on the 3 dots on the right -> options.
-
-:::info Known bug
-Currently it is not possible to remove people through the options.
-This is a [known problem and it has a temporary solution](https://github.com/immich-app/immich/issues/7954)
-:::
-
-## Share Album via Link
-
-:::info
-When wanting to share with people outside the home network via a link, Immich needs to be exposed to the world wide web, read more to [learn the ways to do this](/docs/guides/remote-access.md).
-:::
-
-1. Enter the shared album.
-2. Click on the share icon.
-3. Click on Create link.
-
-You can edit the link properties, options include;
-
-- **Description -** adding a description to the album (optional)
-- **Password -** adding a password to the album (optional), it is required to activate Require password.
-- **Show metadata -** whether to show metadata to whoever the link will be shared with (optional).
-- **Allow public user to download -** whether to allow whoever has the link to download all the images or a certain image (optional).
-- **Allow public user to upload -** whether to allow whoever has the link to upload assets to the album (optional).
- :::info
- Whoever has the link and have uploaded files cannot delete them.
- :::
-- **Expire after -** adding an expiration date to the link (optional).
-
-## Share Specific Assets
-
-A user can share specific assets without linking them to a specific album.
-In order to do this:
-
-1. Go to the timeline
-2. Select the assets (Shift can be used for multiple selection)
-3. Click the share button
-
-:::info
-Assets shared in this way will not be displayed in the Sharing category, in order to expect to remove or change the link settings of assets shared in this way, you must use the Manage generated links option.
-:::
-
-:::tip
-For temporary sharing, you can add an expiration date to assets shared this way.
-:::
-
-## Manage generated links
-
-A user can copy, delete and change the link settings he created for specific albums or assets, in order to do so;
-
-1. Go to the Immich home page.
-2. Select the Sharing category.
-3. On the top right, select Shared links.
-
-:::info remove links/users.
-When making a shared album private, the added photos will **still** be saved in the album.
-:::
-
-## Activity
-
-:::info
-Activity is not visible when sharing an album via external link.
-New users added to the album will be able to see previous activity.
-:::
-
-### Add a Comment or Like to the Album
-
-1. Enter the shared album.
-2. From the bottom right you can add comment(s) or delete old comments.
-3. To add a like (heart) to the album, click the heart button to the left of the "say something" button.
-
-#### Add a Comment or Like to a Specific Photo
-
-:::info Activity
-Activity of a comment or heart on a specific photo will appear in the general activity of the album.
-:::
-
-1. Enter the shared album.
-2. Enter the picture.
-3. From the bottom right you can add comment(s) or delete old comments.
-4. To add a like (heart) to the album, click the heart button to the left of the "say something" button.
-
-### Viewing Activity in the Album
-
-To view album activity on comments or likes
-
-1. Enter the shared album
-2. On the bottom right click on the message icon
-
-
-
-
-:::note mobile app
-Some of the features are not available on mobile, to understand what the full features of shared albums are, it is recommended to additionally read the explanation for the computer version.
-:::
-
-### Create a Shared Album
-
-1. Select the assets.
-2. Swipe up and click on Create new album.
-3. Name the new album and add the album.
-
-## Sharing Between Users
-
-#### Add or remove users from the album
-
-:::info remove user(s)
-When a user is removed from the album, the photos he uploaded will still appear in the album.
-:::
-
-After creating the album, click the Add User button and select the user you want to share with.
-
-### Shared Album Options
-
-- Enable or disable comments & likes.
-- Add or remove users
-
-To change these settings click on the 3 dots on the top right -> options.
-
-## Share Album via Link
-
-:::info
-When wanting to share with people outside the home network via a link, Immich needs to be exposed to the world wide web, read more to [learn the ways to do this](/docs/guides/remote-access.md).
-:::
-
-1. Enter the shared album.
-2. Click 3 dots on the top right.
-3. Click on Share.
-
-You can edit the link properties, options include;
-
-- **Description -** adding a description to the album (optional)
-- **Password -** adding a password to the album (optional)
-- **Show metadata -** whether to show metadata to whoever the link will be shared with (optional).
-- **Allow public user to download -** whether to allow whoever has the link to download all the images or a certain image (optional).
-- **Allow public user to upload -** whether to allow whoever has the link to upload assets to the album (optional).
- ::: info
- whoever has the link and have uploaded files cannot delete them.
- :::
-- **Expire after -** adding an expiration date to the link (optional).
-
-## Share Specific Assets
-
-A user can share specific assets without linking them to a specific album.
-in order to do so;
-
-1. Go to the timeline
-2. Select the assets.
-3. Click the share button
-
-:::info
-Assets shared in this way will not be displayed in the Sharing category, in order to expect to remove or change the link settings of assets shared in this way, you must use the Manage generated links option.
-:::
-
-:::tip
-For temporary sharing, you can add an expiration date to assets shared this way.
-:::
-
-## Manage generated links
-
-A user can copy, delete and change the link settings he created for specific albums or assets, in order to do so;
-
-1. Go to Sharing category.
-2. Select Shared links at the top right.
-
-:::info remove links/users.
-When making a shared album private, the added photos will **still** be saved in the album.
-:::
-
-## Activity
-
-:::info
-Activity is not visible when sharing an album via external link.
-New users added to the album will be able to see previous activity.
-:::
-
-### Add a Comment or Like to the Album
-
-1. Enter the shared album.
-2. From the top right you can add comment(s) or delete old comments.
-3. To add a like (heart) to the album, click the heart button to the right of the "say something" button.
-
-#### Add a Comment or Like to a Specific Photo
-
-:::info Activity
-Activity of a comment or heart on a specific photo will appear in the general activity of the album.
-:::
-
-1. Enter the shared album.
-2. Enter the picture.
-3. From the top right you can add comment(s) or delete old comments.
-4. To add a like (heart) to the album, click the heart button to the right of the "say something" button.
-
-### Viewing Activity in the Album
-
-To view album activity on comments or likes
-
-1. Enter the shared album
-2. On the top right click on the message icon
-
-
-
diff --git a/docs/docs/features/sharing.md b/docs/docs/features/sharing.md
new file mode 100644
index 0000000000000..ff0a03beea0a9
--- /dev/null
+++ b/docs/docs/features/sharing.md
@@ -0,0 +1,51 @@
+# Sharing
+
+Immich supports local sharing, with users on the same Immich instance, and public sharing via public links.
+
+## Local sharing
+
+### Albums
+
+Albums can be shared between users on the same Immich instance. The shared users can view and add their own photos and videos to the shared album.
+
+After creating an album, you can access the sharing options by clicking on the share icon. When sharing an album, you can select the users you want to share the album with and assign them permissions either as editors (read-write) or viewers (read-only).
+
+#### Web
+
+
+
+
+
+#### Mobile App
+
+
+
+### Partners
+
+Partner sharing allows you to share your _entire_ library with other users of your choice. They can then view your library and download the assets.
+
+You can read this guide to learn more about [partner sharing](/docs/features/partner-sharing).
+
+## Public sharing
+
+You can create a public link to share a group of photos or videos, or an album, with anyone. The public link can be shared via email, social media, or any other method. There are a varierity of options to customize the public link, such as setting an expiration date, password protection, and more. Public shared link is handy when you want to share a group of photos or videos with someone who doesn't have an Immich account and allow the shared user to upload their photos or videos to your account.
+
+The public shared link is generated with a random URL, which acts as as a secret to avoid the link being guessed by unwanted parties, for instance.
+
+```
+https://immich.yourdomain.com/share/JUckRMxlgpo7F9BpyqGk_cZEwDzaU_U5LU5_oNZp1ETIBa9dpQ0b5ghNm_22QVJfn3k
+```
+
+### Creating a public share link
+
+You can create a public share link by selecting the photos or videos, or from the share icon on an album.
+
+
+
+
+
+### Customizing the public share link
+
+You can customize the public share link by setting an expiration date, password protection, allow what actions can be performed on the shared assets, and more.
+
+
diff --git a/docs/docs/features/supported-formats.md b/docs/docs/features/supported-formats.md
index ce3736db62475..46cf9b452688a 100644
--- a/docs/docs/features/supported-formats.md
+++ b/docs/docs/features/supported-formats.md
@@ -1,4 +1,4 @@
-# Supported formats
+# Supported Media Formats
Immich supports a number of image and video formats, the most common of which are outlined here.
@@ -15,9 +15,9 @@ For the full list, refer to the [Immich source code](https://github.com/immich-a
| `GIF` | `.gif` | :white_check_mark: | |
| `HEIC` | `.heic` | :white_check_mark: | |
| `HEIF` | `.heif` | :white_check_mark: | |
-| `JPEG` | `.jpeg` `.jpg` `.jpe` `.insp` | :white_check_mark: | |
+| `JPEG` | `.webp` `.jpg` `.jpe` `.insp` | :white_check_mark: | |
| `JPEG XL` | `.jxl` | :white_check_mark: | |
-| `PNG` | `.png` | :white_check_mark: | |
+| `PNG` | `.webp` | :white_check_mark: | |
| `PSD` | `.psd` | :white_check_mark: | Adobe Photoshop |
| `RAW` | `.raw` | :white_check_mark: | |
| `RW2` | `.rw2` | :white_check_mark: | |
diff --git a/docs/docs/features/tags.md b/docs/docs/features/tags.md
new file mode 100644
index 0000000000000..ca663e9edd60f
--- /dev/null
+++ b/docs/docs/features/tags.md
@@ -0,0 +1,25 @@
+# Tags
+
+Immich supports hierarchical tags, with the ability to read existing tags from the `TagList` and `Keywords` EXIF properties. Any changes to tags made through Immich are also written back to a [sidecar](/docs/features/xmp-sidecars) file. You can re-run the metadata extraction jobs for all assets to import your existing tags.
+
+## Enable tags feature
+
+You can enable this feature from the [`Account Settings > Features > Tags`](https://my.immich.app/user-settings?isOpen=feature+tags).
+
+
+
+## Creating tags
+
+Tags can be created and added to a photo or a video by clicking on the `+ Add` button at the bottom of the info panel.
+
+
+
+The tag prompt will appear, and you find and select a tag, or type in a new tag to create it.
+
+
+
+## Viewing tags
+
+You can navigate to the `Tags` view from the side navigation bar or by clicking on the tag in the info panel.
+
+
diff --git a/docs/docs/features/user-settings.md b/docs/docs/features/user-settings.md
index 77c94280ad655..a2d03085418a3 100644
--- a/docs/docs/features/user-settings.md
+++ b/docs/docs/features/user-settings.md
@@ -1,21 +1,21 @@
# User Settings
-![User Modal](./img/user-popup.png)
+Immich gives each user the ability to manage their own settings. This includes being able to update their profile, toggle certain feature, generate API keys, manage the logged in devices, a view of account usage statistics, and more.
-## User Profile
+
-View your User ID and email, and update your first and last name.
+You can access the [user settings](https://my.immich.app/user-settings) by clicking on the user icon on the top right corner of the screen and selecting the `Account Settings` option.
-![User Profile](./img/user-profile.png)
+
-## Change Password
+
-Users can change their own passwords.
+
-![Change Password](./img/user-change-password.png)
+---
:::tip Reset Password
-The admin can reset a password through the [User Management](/docs/administration/user-management.mdx) screen.
+The admin can reset a user password through the [User Management](/docs/administration/user-management.mdx) screen.
:::
:::tip Reset Admin Password
diff --git a/docs/docs/features/xmp-sidecars.md b/docs/docs/features/xmp-sidecars.md
index 371547aa73b4e..98ce8782e62a5 100644
--- a/docs/docs/features/xmp-sidecars.md
+++ b/docs/docs/features/xmp-sidecars.md
@@ -2,7 +2,7 @@
Immich can ingest XMP sidecars on file upload (via the CLI) as well as detect new sidecars that are placed in the filesystem for existing images.
-
+
XMP sidecars are external XML files that contain metadata related to media files. Many applications read and write these files either exclusively or in addition to the metadata written to image files. They can be a powerful tool for editing and storing metadata of a media file without modifying the media file itself. When Immich receives or detects an XMP sidecar for a media file, it will attempt to extract the metadata from both the sidecar as well as the media file. It will prioritize the metadata for fields in the sidecar but will fall back and use the metadata in the media file if necessary.
@@ -10,4 +10,4 @@ When importing files via the CLI bulk uploader or parsing photo metadata for ext
There are 2 administrator jobs associated with sidecar files: `SYNC` and `DISCOVER`. The sync job will re-scan all media with existing sidecar files and queue them for a metadata refresh. This is a great use case when third-party applications are used to modify the metadata of media. The discover job will attempt to scan the filesystem for new sidecar files for all media that does not currently have a sidecar file associated with it.
-
+
diff --git a/docs/docs/guides/custom-map-styles.md b/docs/docs/guides/custom-map-styles.md
index 9da9a34822ce6..3f52937432699 100644
--- a/docs/docs/guides/custom-map-styles.md
+++ b/docs/docs/guides/custom-map-styles.md
@@ -22,6 +22,6 @@ Customizing the map style can be done easily using Maptiler, if you do not want
2. Once logged in, you can either create a brand new map by clicking on **New Map**, selecting a starter map, and then clicking **Customize**, OR by selecting a **Standard Map** and customizing it from there.
3. The **editor** interface is self-explanatory. You can change colors, remove visible layers, or add optional layers (e.g., administrative, topo, hydro, etc.) in the composer.
4. Once you have your map composed, click on **Save** at the top right. Give it a unique name to save it to your account.
-5. Next, **Publish** your style using the **Publish** button at the top right. This will deploy it to production, which means it is able to be exposed over the Internet. Maptiler will present an interactive side-by-side map with the original and your changes prior to publication.
![Maptiler Publication Settings](img/immich_map_styles_publish.png)
+5. Next, **Publish** your style using the **Publish** button at the top right. This will deploy it to production, which means it is able to be exposed over the Internet. Maptiler will present an interactive side-by-side map with the original and your changes prior to publication.
![Maptiler Publication Settings](img/immich_map_styles_publish.webp)
6. Maptiler will warn you that changing the map will change it across all apps using the map. Since no apps are using the map yet, this is okay.
7. Clicking on the name of your new map at the top left will bring you to the item's **details** page. From here, copy the link to the JSON style under **Use vector style**. This link will automatically contain your personal API key to Maptiler.
diff --git a/docs/docs/guides/database-gui.md b/docs/docs/guides/database-gui.md
index e0d6da1cbf682..67b658f838ff5 100644
--- a/docs/docs/guides/database-gui.md
+++ b/docs/docs/guides/database-gui.md
@@ -36,7 +36,7 @@ Open [localhost:8888](http://localhost:8888) and login with the default credenti
Right click on `Servers` and click on `Register >> Server..` then enter the values below in the `Connection` tab.
-
+
:::note
The parameters used here match those specified in the example `.env` file. If you have changed your `.env` file, you'll need to adjust accordingly.
diff --git a/docs/docs/guides/external-library.md b/docs/docs/guides/external-library.md
index b44949818c5eb..2ac917f930a1b 100644
--- a/docs/docs/guides/external-library.md
+++ b/docs/docs/guides/external-library.md
@@ -1,6 +1,6 @@
# External Library
-This guide walks you through adding an [External Library](/docs/features/libraries#external-libraries).
+This guide walks you through adding an [External Library](/docs/features/libraries).
This guide assumes you are running Immich in Docker and that the files you wish to access are stored
in a directory on the same machine.
@@ -24,40 +24,40 @@ Restart Immich by running `docker compose up -d`.
In the Immich web UI:
- click the **Administration** link in the upper right corner.
-
+
- Select the **External Libraries** tab
-
+
- Click the **Create Library** button
-
+
- In the dialog, select which user should own the new library
-
+
- Click the three-dots menu and select **Edit Import Paths**
-
+
- Click Add path
-
+
- Enter **/usr/src/app/external** as the path and click Add
-
+
- Save the new path
-
+
- Click the three-dots menu and select **Scan New Library Files**
-
+
# Confirm stuff is happening
- Click **Administration**
-
+
- Select the **Jobs** tab
-
+
- You should see non-zero Active jobs for
Library, Generate Thumbnails, and Extract Metadata.
-
+
diff --git a/docs/docs/guides/img/add-path-button.png b/docs/docs/guides/img/add-path-button.png
deleted file mode 100644
index ba4ef758fb0ed..0000000000000
Binary files a/docs/docs/guides/img/add-path-button.png and /dev/null differ
diff --git a/docs/docs/guides/img/add-path-button.webp b/docs/docs/guides/img/add-path-button.webp
new file mode 100644
index 0000000000000..014999069fe20
Binary files /dev/null and b/docs/docs/guides/img/add-path-button.webp differ
diff --git a/docs/docs/guides/img/add-path-field.png b/docs/docs/guides/img/add-path-field.png
deleted file mode 100644
index d11970fcff673..0000000000000
Binary files a/docs/docs/guides/img/add-path-field.png and /dev/null differ
diff --git a/docs/docs/guides/img/add-path-field.webp b/docs/docs/guides/img/add-path-field.webp
new file mode 100644
index 0000000000000..6ac5a33e30a18
Binary files /dev/null and b/docs/docs/guides/img/add-path-field.webp differ
diff --git a/docs/docs/guides/img/administration-link.png b/docs/docs/guides/img/administration-link.png
deleted file mode 100644
index 09cdea3429734..0000000000000
Binary files a/docs/docs/guides/img/administration-link.png and /dev/null differ
diff --git a/docs/docs/guides/img/administration-link.webp b/docs/docs/guides/img/administration-link.webp
new file mode 100644
index 0000000000000..cbed69782afba
Binary files /dev/null and b/docs/docs/guides/img/administration-link.webp differ
diff --git a/docs/docs/guides/img/create-external-library.png b/docs/docs/guides/img/create-external-library.png
deleted file mode 100644
index 7ccd53aed44f3..0000000000000
Binary files a/docs/docs/guides/img/create-external-library.png and /dev/null differ
diff --git a/docs/docs/guides/img/create-external-library.webp b/docs/docs/guides/img/create-external-library.webp
new file mode 100644
index 0000000000000..595d699829cb2
Binary files /dev/null and b/docs/docs/guides/img/create-external-library.webp differ
diff --git a/docs/docs/guides/img/edit-import-paths.png b/docs/docs/guides/img/edit-import-paths.png
deleted file mode 100644
index c38419e9278dc..0000000000000
Binary files a/docs/docs/guides/img/edit-import-paths.png and /dev/null differ
diff --git a/docs/docs/guides/img/edit-import-paths.webp b/docs/docs/guides/img/edit-import-paths.webp
new file mode 100644
index 0000000000000..70cc1cf7cf499
Binary files /dev/null and b/docs/docs/guides/img/edit-import-paths.webp differ
diff --git a/docs/docs/guides/img/email-settings.png b/docs/docs/guides/img/email-settings.png
deleted file mode 100644
index a0d71354267fb..0000000000000
Binary files a/docs/docs/guides/img/email-settings.png and /dev/null differ
diff --git a/docs/docs/guides/img/email-settings.webp b/docs/docs/guides/img/email-settings.webp
new file mode 100644
index 0000000000000..6911d6efc309c
Binary files /dev/null and b/docs/docs/guides/img/email-settings.webp differ
diff --git a/docs/docs/guides/img/external-libraries.png b/docs/docs/guides/img/external-libraries.png
deleted file mode 100644
index 0d0f5d237242f..0000000000000
Binary files a/docs/docs/guides/img/external-libraries.png and /dev/null differ
diff --git a/docs/docs/guides/img/external-libraries.webp b/docs/docs/guides/img/external-libraries.webp
new file mode 100644
index 0000000000000..b257ac3def67d
Binary files /dev/null and b/docs/docs/guides/img/external-libraries.webp differ
diff --git a/docs/docs/guides/img/immich_map_styles_publish.png b/docs/docs/guides/img/immich_map_styles_publish.png
deleted file mode 100644
index 2ca4483709ccf..0000000000000
Binary files a/docs/docs/guides/img/immich_map_styles_publish.png and /dev/null differ
diff --git a/docs/docs/guides/img/immich_map_styles_publish.webp b/docs/docs/guides/img/immich_map_styles_publish.webp
new file mode 100644
index 0000000000000..52d4cd175feeb
Binary files /dev/null and b/docs/docs/guides/img/immich_map_styles_publish.webp differ
diff --git a/docs/docs/guides/img/job-status.png b/docs/docs/guides/img/job-status.png
deleted file mode 100644
index 396feaef4fa1c..0000000000000
Binary files a/docs/docs/guides/img/job-status.png and /dev/null differ
diff --git a/docs/docs/guides/img/job-status.webp b/docs/docs/guides/img/job-status.webp
new file mode 100644
index 0000000000000..2ec8709859c71
Binary files /dev/null and b/docs/docs/guides/img/job-status.webp differ
diff --git a/docs/docs/guides/img/jobs-tab.png b/docs/docs/guides/img/jobs-tab.png
deleted file mode 100644
index 70d2967983afd..0000000000000
Binary files a/docs/docs/guides/img/jobs-tab.png and /dev/null differ
diff --git a/docs/docs/guides/img/jobs-tab.webp b/docs/docs/guides/img/jobs-tab.webp
new file mode 100644
index 0000000000000..b8f45494b935b
Binary files /dev/null and b/docs/docs/guides/img/jobs-tab.webp differ
diff --git a/docs/docs/guides/img/libraries-dropdown.png b/docs/docs/guides/img/libraries-dropdown.png
deleted file mode 100644
index 5ccb66aa8d827..0000000000000
Binary files a/docs/docs/guides/img/libraries-dropdown.png and /dev/null differ
diff --git a/docs/docs/guides/img/libraries-dropdown.webp b/docs/docs/guides/img/libraries-dropdown.webp
new file mode 100644
index 0000000000000..fe9d1fcf47538
Binary files /dev/null and b/docs/docs/guides/img/libraries-dropdown.webp differ
diff --git a/docs/docs/guides/img/library-owner.png b/docs/docs/guides/img/library-owner.png
deleted file mode 100644
index de630b51b7500..0000000000000
Binary files a/docs/docs/guides/img/library-owner.png and /dev/null differ
diff --git a/docs/docs/guides/img/library-owner.webp b/docs/docs/guides/img/library-owner.webp
new file mode 100644
index 0000000000000..f92342f2056cc
Binary files /dev/null and b/docs/docs/guides/img/library-owner.webp differ
diff --git a/docs/docs/guides/img/path-save.png b/docs/docs/guides/img/path-save.png
deleted file mode 100644
index ffce66eb41c3f..0000000000000
Binary files a/docs/docs/guides/img/path-save.png and /dev/null differ
diff --git a/docs/docs/guides/img/path-save.webp b/docs/docs/guides/img/path-save.webp
new file mode 100644
index 0000000000000..df0256a3dfffd
Binary files /dev/null and b/docs/docs/guides/img/path-save.webp differ
diff --git a/docs/docs/guides/img/pgadmin-add-new-server.png b/docs/docs/guides/img/pgadmin-add-new-server.png
deleted file mode 100644
index 978602e04d292..0000000000000
Binary files a/docs/docs/guides/img/pgadmin-add-new-server.png and /dev/null differ
diff --git a/docs/docs/guides/img/pgadmin-add-new-server.webp b/docs/docs/guides/img/pgadmin-add-new-server.webp
new file mode 100644
index 0000000000000..25aa33478a4e0
Binary files /dev/null and b/docs/docs/guides/img/pgadmin-add-new-server.webp differ
diff --git a/docs/docs/guides/img/scan-new-library-files.png b/docs/docs/guides/img/scan-new-library-files.png
deleted file mode 100644
index 1ff2f75114eb7..0000000000000
Binary files a/docs/docs/guides/img/scan-new-library-files.png and /dev/null differ
diff --git a/docs/docs/guides/img/scan-new-library-files.webp b/docs/docs/guides/img/scan-new-library-files.webp
new file mode 100644
index 0000000000000..815cc594cd57d
Binary files /dev/null and b/docs/docs/guides/img/scan-new-library-files.webp differ
diff --git a/docs/docs/guides/img/user-avatar.png b/docs/docs/guides/img/user-avatar.png
deleted file mode 100644
index 4fed1a7d2eebd..0000000000000
Binary files a/docs/docs/guides/img/user-avatar.png and /dev/null differ
diff --git a/docs/docs/guides/img/user-avatar.webp b/docs/docs/guides/img/user-avatar.webp
new file mode 100644
index 0000000000000..78a8fd9270425
Binary files /dev/null and b/docs/docs/guides/img/user-avatar.webp differ
diff --git a/docs/docs/guides/smtp-gmail.md b/docs/docs/guides/smtp-gmail.md
index de015dfe47448..58c598c3088e8 100644
--- a/docs/docs/guides/smtp-gmail.md
+++ b/docs/docs/guides/smtp-gmail.md
@@ -17,4 +17,4 @@ At the end of creating your app passwords, a password will be displayed; save it
Entering your credential in Immich's email notification settings at `Administration -> Settings -> Notification Settings`
-
+
diff --git a/docs/docs/install/docker-compose.mdx b/docs/docs/install/docker-compose.mdx
index e3d5dd686427d..3593cf19ee56a 100644
--- a/docs/docs/install/docker-compose.mdx
+++ b/docs/docs/install/docker-compose.mdx
@@ -30,27 +30,11 @@ wget -O .env https://github.com/immich-app/immich/releases/latest/download/examp
You can alternatively download these two files from your browser and move them to the directory that you created, in which case ensure that you rename `example.env` to `.env`.
-:::info Optional Features
-If you intend to use hardware acceleration for transcoding or machine learning (ML), you can download now the config files you'll need, in the same way:
-
-```bash title="(Optional) Get hwaccel.transcoding.yml file"
-wget -O hwaccel.transcoding.yml https://github.com/immich-app/immich/releases/latest/download/hwaccel.transcoding.yml
-```
-
-```bash title="(Optional) Get hwaccel.ml.yml file"
-wget -O hwaccel.ml.yml https://github.com/immich-app/immich/releases/latest/download/hwaccel.ml.yml
-```
-
-:::
-
## Step 2 - Populate the .env file with custom values
-
-
- Example .env
content
-
- {ExampleEnv}
-
+
+ {ExampleEnv}
+
- Populate `UPLOAD_LOCATION` with your preferred location for storing backup assets. It should be a new directory on the server with enough free space.
- Consider changing `DB_PASSWORD` to a custom value. Postgres is not publically exposed, so this password is only used for local authentication.
@@ -58,22 +42,16 @@ wget -O hwaccel.ml.yml https://github.com/immich-app/immich/releases/latest/down
- Set your timezone by uncommenting the `TZ=` line.
- Populate custom database information if necessary.
-:::info Optional Features
-You can edit `docker-compose.yml` to add external libraries or enable hardware acceleration now by following [their guides](#setting-up-optional-features).
-:::
-
## Step 3 - Start the containers
-From the directory you created in Step 1 (which should now contain your customized `docker-compose.yml` and `.env` files), run this command:
+From the directory you created in Step 1 (which should now contain your customized `docker-compose.yml` and `.env` files), run the following command to start Immich as a background service:
-```bash title="Start the containers using docker compose command"
+```bash title="Start the containers"
docker compose up -d
```
-This starts immich as a background service (per the `-d` flag), ensuring it restarts after system reboots or crashes (per the `restart` fields in `docker-compose.yml`).
-
:::info Docker version
-If you get an error `unknown shorthand flag: 'd' in -d`, you are probably running the wrong Docker version. (This happens, for example, with the docker.io package in Ubuntu 22.04.3 LTS.) You can correct the problem by following the complete [Docker Engine install](https://docs.docker.com/engine/install/) procedure for your distribution, crucially the "Uninstall old versions" and "Install using the apt/rpm repository" sections. These replace the distro's Docker packages with Docker's official ones.
+If you get an error such as `unknown shorthand flag: 'd' in -d` or `open : permission denied`, you are probably running the wrong Docker version. (This happens, for example, with the docker.io package in Ubuntu 22.04.3 LTS.) You can correct the problem by following the complete [Docker Engine install](https://docs.docker.com/engine/install/) procedure for your distribution, crucially the "Uninstall old versions" and "Install using the apt/rpm repository" sections. These replace the distro's Docker packages with Docker's official ones.
Note that the correct command really is `docker compose`, not `docker-compose`. If you try the latter on vanilla Ubuntu 22.04, it will fail in a different way:
@@ -89,28 +67,22 @@ See the previous paragraph about installing from the official Docker repository.
If you get an error `can't set healthcheck.start_interval as feature require Docker Engine v25 or later`, it helps to comment out the line for `start_interval` in the `database` section of the `docker-compose.yml` file.
:::
-:::tip
-For more information on how to use the application, please refer to the [Post Installation](/docs/install/post-install.mdx) guide.
-:::
-
-:::note GitHub Authentication
-Downloading container images might require you to authenticate to the GitHub Container Registry ([steps here][container-auth]).
-:::
-
## Next Steps
-### Setting Up Optional Features
+Read the [Post Installation](/docs/install/post-install.mdx) steps or setup optional features below.
-You can set up the following now:
+### Setting up optional features
-- [External Libraries](/docs/features/libraries.md)
-- [Hardware Transcoding](/docs/features/hardware-transcoding.md)
-- [Hardware-Accelerated Machine Learning](/docs/features/ml-hardware-acceleration.md)
+- [External Libraries](/docs/features/libraries.md): Adding your existing photo library to Immich
+- [Hardware Transcoding](/docs/features/hardware-transcoding.md): Speeding up video transcoding
+- [Hardware-Accelerated Machine Learning](/docs/features/ml-hardware-acceleration.md): Speeding up various machine learning tasks in Immich
### Upgrading
-:::danger Breaking Changes
-It is important to follow breaking updates to avoid problems. You can see versions that had breaking changes [here][breaking].
+:::danger Read the release notes
+Immich is currently under heavy development, which means you can expect [breaking changes][breaking] and bugs. Therefore, we recommend reading the release notes prior to updating and to take special care when using automated tools like [Watchtower][watchtower].
+
+You can see versions that had breaking changes [here][breaking].
:::
If `IMMICH_VERSION` is set, it will need to be updated to the latest or desired version.
@@ -123,14 +95,10 @@ docker compose pull && docker compose up -d
To clean up disk space, the old version's obsolete container images can be deleted with the following command:
-```bash title="Delete all obsolete container images"
+```bash title="Clean up unused Docker images"
docker image prune
```
-:::caution Automatic Updates
-Immich is currently under heavy development, which means you can expect [breaking changes][breaking] and bugs. Therefore, we recommend reading the release notes prior to updating and to take special care when using automated tools like [Watchtower][watchtower].
-:::
-
[compose-file]: https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
[env-file]: https://github.com/immich-app/immich/releases/latest/download/example.env
[watchtower]: https://containrrr.dev/watchtower/
diff --git a/docs/docs/install/img/dot-env.png b/docs/docs/install/img/dot-env.png
deleted file mode 100644
index e47310f36da08..0000000000000
Binary files a/docs/docs/install/img/dot-env.png and /dev/null differ
diff --git a/docs/docs/install/img/dot-env.webp b/docs/docs/install/img/dot-env.webp
new file mode 100644
index 0000000000000..d8e34358a097b
Binary files /dev/null and b/docs/docs/install/img/dot-env.webp differ
diff --git a/docs/docs/install/img/env-1.png b/docs/docs/install/img/env-1.png
deleted file mode 100644
index aef15af84ba47..0000000000000
Binary files a/docs/docs/install/img/env-1.png and /dev/null differ
diff --git a/docs/docs/install/img/env-1.webp b/docs/docs/install/img/env-1.webp
new file mode 100644
index 0000000000000..bd2035136f2d8
Binary files /dev/null and b/docs/docs/install/img/env-1.webp differ
diff --git a/docs/docs/install/img/env-2.png b/docs/docs/install/img/env-2.png
deleted file mode 100644
index ba6b6027a3e90..0000000000000
Binary files a/docs/docs/install/img/env-2.png and /dev/null differ
diff --git a/docs/docs/install/img/env-2.webp b/docs/docs/install/img/env-2.webp
new file mode 100644
index 0000000000000..86bbff0629fde
Binary files /dev/null and b/docs/docs/install/img/env-2.webp differ
diff --git a/docs/docs/install/img/truenas01.png b/docs/docs/install/img/truenas01.png
deleted file mode 100644
index e648ab3734e9d..0000000000000
Binary files a/docs/docs/install/img/truenas01.png and /dev/null differ
diff --git a/docs/docs/install/img/truenas01.webp b/docs/docs/install/img/truenas01.webp
new file mode 100644
index 0000000000000..f299ef8e14bb6
Binary files /dev/null and b/docs/docs/install/img/truenas01.webp differ
diff --git a/docs/docs/install/img/truenas02.png b/docs/docs/install/img/truenas02.png
deleted file mode 100644
index 66f0dec7fa49c..0000000000000
Binary files a/docs/docs/install/img/truenas02.png and /dev/null differ
diff --git a/docs/docs/install/img/truenas02.webp b/docs/docs/install/img/truenas02.webp
new file mode 100644
index 0000000000000..cbcac69082672
Binary files /dev/null and b/docs/docs/install/img/truenas02.webp differ
diff --git a/docs/docs/install/img/truenas03.png b/docs/docs/install/img/truenas03.png
deleted file mode 100644
index d9970f5aebe90..0000000000000
Binary files a/docs/docs/install/img/truenas03.png and /dev/null differ
diff --git a/docs/docs/install/img/truenas03.webp b/docs/docs/install/img/truenas03.webp
new file mode 100644
index 0000000000000..2870fb90b6df4
Binary files /dev/null and b/docs/docs/install/img/truenas03.webp differ
diff --git a/docs/docs/install/img/truenas04.png b/docs/docs/install/img/truenas04.png
deleted file mode 100644
index 45fa87e5e5e72..0000000000000
Binary files a/docs/docs/install/img/truenas04.png and /dev/null differ
diff --git a/docs/docs/install/img/truenas04.webp b/docs/docs/install/img/truenas04.webp
new file mode 100644
index 0000000000000..a44a2b33d65cf
Binary files /dev/null and b/docs/docs/install/img/truenas04.webp differ
diff --git a/docs/docs/install/img/truenas05.png b/docs/docs/install/img/truenas05.png
deleted file mode 100644
index 0f9d6a835aeb1..0000000000000
Binary files a/docs/docs/install/img/truenas05.png and /dev/null differ
diff --git a/docs/docs/install/img/truenas05.webp b/docs/docs/install/img/truenas05.webp
new file mode 100644
index 0000000000000..c5e451770f606
Binary files /dev/null and b/docs/docs/install/img/truenas05.webp differ
diff --git a/docs/docs/install/img/truenas06.png b/docs/docs/install/img/truenas06.png
deleted file mode 100644
index 3daf250e36706..0000000000000
Binary files a/docs/docs/install/img/truenas06.png and /dev/null differ
diff --git a/docs/docs/install/img/truenas06.webp b/docs/docs/install/img/truenas06.webp
new file mode 100644
index 0000000000000..b7c7c51aa4602
Binary files /dev/null and b/docs/docs/install/img/truenas06.webp differ
diff --git a/docs/docs/install/img/truenas07.png b/docs/docs/install/img/truenas07.png
deleted file mode 100644
index 946c1401ac7dd..0000000000000
Binary files a/docs/docs/install/img/truenas07.png and /dev/null differ
diff --git a/docs/docs/install/img/truenas07.webp b/docs/docs/install/img/truenas07.webp
new file mode 100644
index 0000000000000..c08e2bdd9c59e
Binary files /dev/null and b/docs/docs/install/img/truenas07.webp differ
diff --git a/docs/docs/install/img/truenas08.png b/docs/docs/install/img/truenas08.png
deleted file mode 100644
index 4ace8b49ca0b9..0000000000000
Binary files a/docs/docs/install/img/truenas08.png and /dev/null differ
diff --git a/docs/docs/install/img/truenas08.webp b/docs/docs/install/img/truenas08.webp
new file mode 100644
index 0000000000000..c5a3a87b479ab
Binary files /dev/null and b/docs/docs/install/img/truenas08.webp differ
diff --git a/docs/docs/install/img/truenas09.png b/docs/docs/install/img/truenas09.png
deleted file mode 100644
index 41830fe9e6046..0000000000000
Binary files a/docs/docs/install/img/truenas09.png and /dev/null differ
diff --git a/docs/docs/install/img/truenas09.webp b/docs/docs/install/img/truenas09.webp
new file mode 100644
index 0000000000000..2fd202c6d24f7
Binary files /dev/null and b/docs/docs/install/img/truenas09.webp differ
diff --git a/docs/docs/install/img/truenas10.png b/docs/docs/install/img/truenas10.png
deleted file mode 100644
index 730685c309f99..0000000000000
Binary files a/docs/docs/install/img/truenas10.png and /dev/null differ
diff --git a/docs/docs/install/img/truenas10.webp b/docs/docs/install/img/truenas10.webp
new file mode 100644
index 0000000000000..21668cfccd6cf
Binary files /dev/null and b/docs/docs/install/img/truenas10.webp differ
diff --git a/docs/docs/install/img/truenas11.png b/docs/docs/install/img/truenas11.png
deleted file mode 100644
index 88c166aed3810..0000000000000
Binary files a/docs/docs/install/img/truenas11.png and /dev/null differ
diff --git a/docs/docs/install/img/truenas11.webp b/docs/docs/install/img/truenas11.webp
new file mode 100644
index 0000000000000..a4dceee100906
Binary files /dev/null and b/docs/docs/install/img/truenas11.webp differ
diff --git a/docs/docs/install/img/truenas12.png b/docs/docs/install/img/truenas12.png
deleted file mode 100644
index a107a85f24c76..0000000000000
Binary files a/docs/docs/install/img/truenas12.png and /dev/null differ
diff --git a/docs/docs/install/img/truenas12.webp b/docs/docs/install/img/truenas12.webp
new file mode 100644
index 0000000000000..1ed1e54c46367
Binary files /dev/null and b/docs/docs/install/img/truenas12.webp differ
diff --git a/docs/docs/install/img/unraid02.png b/docs/docs/install/img/unraid02.png
deleted file mode 100644
index 32e76fd25168d..0000000000000
Binary files a/docs/docs/install/img/unraid02.png and /dev/null differ
diff --git a/docs/docs/install/img/unraid02.webp b/docs/docs/install/img/unraid02.webp
new file mode 100644
index 0000000000000..a5a3b2c573e86
Binary files /dev/null and b/docs/docs/install/img/unraid02.webp differ
diff --git a/docs/docs/install/img/unraid03.png b/docs/docs/install/img/unraid03.png
deleted file mode 100644
index 795a503db1975..0000000000000
Binary files a/docs/docs/install/img/unraid03.png and /dev/null differ
diff --git a/docs/docs/install/img/unraid03.webp b/docs/docs/install/img/unraid03.webp
new file mode 100644
index 0000000000000..6532905749ffb
Binary files /dev/null and b/docs/docs/install/img/unraid03.webp differ
diff --git a/docs/docs/install/img/unraid04.png b/docs/docs/install/img/unraid04.png
deleted file mode 100644
index a32c5b26f2b1e..0000000000000
Binary files a/docs/docs/install/img/unraid04.png and /dev/null differ
diff --git a/docs/docs/install/img/unraid04.webp b/docs/docs/install/img/unraid04.webp
new file mode 100644
index 0000000000000..3b6992ce057b8
Binary files /dev/null and b/docs/docs/install/img/unraid04.webp differ
diff --git a/docs/docs/install/img/unraid09.png b/docs/docs/install/img/unraid09.png
deleted file mode 100644
index b0803b87b36c7..0000000000000
Binary files a/docs/docs/install/img/unraid09.png and /dev/null differ
diff --git a/docs/docs/install/img/unraid09.webp b/docs/docs/install/img/unraid09.webp
new file mode 100644
index 0000000000000..8b5a48b360ed5
Binary files /dev/null and b/docs/docs/install/img/unraid09.webp differ
diff --git a/docs/docs/install/img/unraid10.png b/docs/docs/install/img/unraid10.png
deleted file mode 100644
index 148ba00250de4..0000000000000
Binary files a/docs/docs/install/img/unraid10.png and /dev/null differ
diff --git a/docs/docs/install/img/unraid10.webp b/docs/docs/install/img/unraid10.webp
new file mode 100644
index 0000000000000..65496c90ad46f
Binary files /dev/null and b/docs/docs/install/img/unraid10.webp differ
diff --git a/docs/docs/install/img/unraid11.png b/docs/docs/install/img/unraid11.png
deleted file mode 100644
index c6c377ad5537a..0000000000000
Binary files a/docs/docs/install/img/unraid11.png and /dev/null differ
diff --git a/docs/docs/install/img/unraid11.webp b/docs/docs/install/img/unraid11.webp
new file mode 100644
index 0000000000000..ce7671f1a3193
Binary files /dev/null and b/docs/docs/install/img/unraid11.webp differ
diff --git a/docs/docs/install/img/unraid12.png b/docs/docs/install/img/unraid12.png
deleted file mode 100644
index f45d7344c48d7..0000000000000
Binary files a/docs/docs/install/img/unraid12.png and /dev/null differ
diff --git a/docs/docs/install/img/unraid12.webp b/docs/docs/install/img/unraid12.webp
new file mode 100644
index 0000000000000..1c9d68a370c0c
Binary files /dev/null and b/docs/docs/install/img/unraid12.webp differ
diff --git a/docs/docs/install/portainer.md b/docs/docs/install/portainer.md
index 35fa7d67e4a0f..5ff324e282449 100644
--- a/docs/docs/install/portainer.md
+++ b/docs/docs/install/portainer.md
@@ -13,7 +13,7 @@ Install Immich using Portainer's Stack feature.
5. Replace `.env` with `stack.env` for all containers that need to use environment variables in the web editor.
-## Step 2 - Create a New User (optional)
+## Step 2 - Create a new user (optional)
-## Step 3 - Update the Storage Template
+## Step 3 - Update the storage template
diff --git a/docs/docs/install/script.md b/docs/docs/install/script.md
index 82c3f687b11fe..a515f2b628ff4 100644
--- a/docs/docs/install/script.md
+++ b/docs/docs/install/script.md
@@ -2,15 +2,19 @@
sidebar_position: 20
---
-# Install Script [Experimental]
+# Install script [Experimental]
:::caution
This method is experimental and not currently recommended for production use. For production, please refer to installing with [Docker Compose](/docs/install/docker-compose.mdx).
:::
-:::note
+## Requirements
+
+Follow the [requirements page](/docs/install/requirements) to get started.
+
The install script only supports Linux operating systems and requires Docker to be already installed on the system.
-:::
+
+## Steps
In the shell, from a directory of your choice, run the following command:
diff --git a/docs/docs/install/truenas.md b/docs/docs/install/truenas.md
index f35e9aa37a874..c56eaf21b2bf7 100644
--- a/docs/docs/install/truenas.md
+++ b/docs/docs/install/truenas.md
@@ -32,7 +32,7 @@ Immich requires seven datasets: `library`, `upload`, `thumbs`, `profile`, `video
You can organize these as one parent with seven child datasets, for example `/mnt/tank/immich/library`, `/mnt/tank/immich/upload`, and so on.
Comment out the database service
Comment out the database dependency for each service (example in screenshot below only shows 2 of the services - ensure you do this for all services)
Comment out the volumes
@@ -111,7 +111,7 @@ alt="Go to Docker Tab and visit the address listed next to immich-web"
Using the FolderView plugin for organizing your Docker containers? Click me! Otherwise you're complete!
- If you are using the FolderView plugin go the Docker tab and select "New Folder".
Label it "Immich" and use this URL as the logo: https://raw.githubusercontent.com/immich-app/immich/main/design/immich-logo.png
Then simply select all the Immich related containers before clicking "Submit"
+ If you are using the FolderView plugin go the Docker tab and select "New Folder".
Label it "Immich" and use this URL as the logo: https://raw.githubusercontent.com/immich-app/immich/main/design/immich-logo.webp
Then simply select all the Immich related containers before clicking "Submit"
You should ignore the "_update ready_" on the Unraid WebUI and update when you receive the notification within the Immich WebUI.
@@ -151,13 +151,13 @@ alt="Immich update notification"
> Note: **Do not** select Compose Down first, it is unnecessary.
3. Once complete you will see a "_Connection Closed_" message, select "**Done**".
4. Return back to the Immich WebUI and you will see the version has been updated to the latest
diff --git a/docs/docs/overview/Comparison.md b/docs/docs/overview/Comparison.md
index f900ebc7c9727..5d5e68f839a41 100644
--- a/docs/docs/overview/Comparison.md
+++ b/docs/docs/overview/Comparison.md
@@ -4,9 +4,5 @@ sidebar_position: 2
# Comparison
-If you're new here and came from other photo self-hosting alternatives you might want to look at a comparison between Immich and your current self-hosting.
+If you're new here and came from other asset self-hosting alternatives you might want to look at a comparison between Immich and your current solution.
Here you can see a [comparison between the various OpenSource Photo Libraries](https://meichthys.github.io/foss_photo_libraries/) including Immich.
-
-:::note
-It is important to remember, Immich is under very active development. Expect bugs and changes. Do not use it as the only way to store your photos and videos!
-:::
diff --git a/docs/docs/overview/comparison.md b/docs/docs/overview/comparison.md
new file mode 100644
index 0000000000000..5d5e68f839a41
--- /dev/null
+++ b/docs/docs/overview/comparison.md
@@ -0,0 +1,8 @@
+---
+sidebar_position: 2
+---
+
+# Comparison
+
+If you're new here and came from other asset self-hosting alternatives you might want to look at a comparison between Immich and your current solution.
+Here you can see a [comparison between the various OpenSource Photo Libraries](https://meichthys.github.io/foss_photo_libraries/) including Immich.
diff --git a/docs/docs/overview/img/appicon.png b/docs/docs/overview/img/appicon.png
deleted file mode 100644
index a48b5af354034..0000000000000
Binary files a/docs/docs/overview/img/appicon.png and /dev/null differ
diff --git a/docs/docs/overview/img/appicon.webp b/docs/docs/overview/img/appicon.webp
new file mode 100644
index 0000000000000..ffbfc1383da9d
Binary files /dev/null and b/docs/docs/overview/img/appicon.webp differ
diff --git a/docs/docs/overview/img/feature-panel.png b/docs/docs/overview/img/feature-panel.png
deleted file mode 100644
index 8c39fe0d40fea..0000000000000
Binary files a/docs/docs/overview/img/feature-panel.png and /dev/null differ
diff --git a/docs/docs/overview/img/feature-panel.webp b/docs/docs/overview/img/feature-panel.webp
new file mode 100644
index 0000000000000..5f10198ed3155
Binary files /dev/null and b/docs/docs/overview/img/feature-panel.webp differ
diff --git a/docs/docs/overview/img/upload-button.png b/docs/docs/overview/img/upload-button.png
deleted file mode 100644
index 03b6c44bdbad0..0000000000000
Binary files a/docs/docs/overview/img/upload-button.png and /dev/null differ
diff --git a/docs/docs/overview/img/upload-button.webp b/docs/docs/overview/img/upload-button.webp
new file mode 100644
index 0000000000000..f40e9cba033fa
Binary files /dev/null and b/docs/docs/overview/img/upload-button.webp differ
diff --git a/docs/docs/overview/introduction.mdx b/docs/docs/overview/introduction.mdx
index 2a9ad5d126896..e09aac6ebfbd2 100644
--- a/docs/docs/overview/introduction.mdx
+++ b/docs/docs/overview/introduction.mdx
@@ -4,7 +4,7 @@ sidebar_position: 1
# Introduction
-
+
## Welcome!
diff --git a/docs/docs/overview/quick-start.mdx b/docs/docs/overview/quick-start.mdx
index 9c7ca8bd08c76..872c0a42a2880 100644
--- a/docs/docs/overview/quick-start.mdx
+++ b/docs/docs/overview/quick-start.mdx
@@ -2,7 +2,7 @@
sidebar_position: 3
---
-# Quick Start
+# Quick start
Here is a quick, no-choices path to install Immich and take it for a test drive.
Once you've tried it, you might use one of the many other ways
@@ -12,11 +12,11 @@ to install and use it.
Check the [requirements page](/docs/install/requirements) to get started.
-## Install and Launch via Docker Compose
+## Set up the server
Follow the [Docker Compose (Recommended)](/docs/install/docker-compose) instructions to install the server.
-## Try the Web UI
+## Try the web app
import RegisterAdminUser from '/docs/partials/_register-admin.md';
@@ -24,9 +24,9 @@ import RegisterAdminUser from '/docs/partials/_register-admin.md';
Try uploading a picture from your browser.
-
+
-## Try the Mobile UI
+## Try the mobile app
### Download the Mobile App
@@ -54,29 +54,25 @@ To quickly get going, you can selectively upload few photos first, by following
You can select the **Jobs** tab to see Immich processing your photos.
-
+
-## Set up Your Backups
+## Review the database backup and restore process
-You may want to back up the content of your Immich instance
-along with other parts of your server; be sure to read about
-[database backup](/docs/administration/backup-and-restore).
+Immich has built-in database backups. You can refer to the
+[database backup](/docs/administration/backup-and-restore) for more information.
-## Where to Go From Here
+:::danger
+The database only contains metadata and user information. You must setup manual backups of the images and videos stored in `UPLOAD_LOCATION`.
+:::
-You may decide you'd like to install the server a different way;
-the Install category on the left menu provides many options.
+## Where to go from here?
-You may decide you'd like to add the _rest_ of your photos from Google Photos,
-even those not on your mobile device, via Google Takeout.
-You can use [immich-go](https://github.com/simulot/immich-go) for this.
+You may decide you'd like to install the server a different way; the Install category on the left menu provides many options.
-You may want to
-[upload photos from your own archive](/docs/features/command-line-interface).
+You may decide you'd like to add the _rest_ of your photos from Google Photos, even those not on your mobile device, via Google Takeout. You can use [immich-go](https://github.com/simulot/immich-go) for this.
-You may want to incorporate an immutable archive of photos from an
-[External Library](/docs/features/libraries#external-libraries);
-there's a [Guide](/docs/guides/external-library) for that.
+You may want to [upload photos from your own archive](/docs/features/command-line-interface).
-You may want your mobile device to
-[back photos up to your server automatically](/docs/features/automatic-backup).
+You may want to incorporate a pre-existing archive of photos from an [External Library](/docs/features/libraries); there's a [guide](/docs/guides/external-library) for that.
+
+You may want your mobile device to [back photos up to your server automatically](/docs/features/automatic-backup).
diff --git a/docs/docs/partials/_mobile-app-backup.md b/docs/docs/partials/_mobile-app-backup.md
index 059f5947542ba..67c43e83b75a6 100644
--- a/docs/docs/partials/_mobile-app-backup.md
+++ b/docs/docs/partials/_mobile-app-backup.md
@@ -1,9 +1,9 @@
1. Navigate to the backup screen by clicking on the cloud icon in the top right corner of the screen.
-
+
2. You can select which album(s) you want to back up to the Immich server from the backup screen.
-
+
3. Scroll down to the bottom and press "**Start Backup**" to start the backup process. This will upload all the assets in the selected albums.
diff --git a/docs/docs/partials/_mobile-app-login.md b/docs/docs/partials/_mobile-app-login.md
index b17c055921afa..bfd15ac5d0c53 100644
--- a/docs/docs/partials/_mobile-app-login.md
+++ b/docs/docs/partials/_mobile-app-login.md
@@ -1,3 +1,3 @@
Login to the mobile app with the server endpoint URL at `http://:2283/api`
-
+
diff --git a/docs/docs/partials/_register-admin.md b/docs/docs/partials/_register-admin.md
index d79830c437758..b20542e12a661 100644
--- a/docs/docs/partials/_register-admin.md
+++ b/docs/docs/partials/_register-admin.md
@@ -2,6 +2,6 @@ The first user to register will be the admin user. The admin user will be able t
To register for the admin user, access the web application at `http://:2283` and click on the **Getting Started** button.
-
+
Follow the prompts to register as the admin user and log in to the application.
diff --git a/docs/docs/partials/_storage-template.md b/docs/docs/partials/_storage-template.md
index 0c668d0a3e0a3..20e9caac43429 100644
--- a/docs/docs/partials/_storage-template.md
+++ b/docs/docs/partials/_storage-template.md
@@ -1,9 +1,5 @@
Immich allows the admin user to set the uploaded filename pattern at the directory and filename level as well as the [storage label for a user](/docs/administration/user-management/#set-storage-label-for-user).
-:::note new version
-On new machines running version 1.92.0 storage template engine is off by default, for [more info](https://github.com/immich-app/immich/releases/tag/v1.92.0#:~:text=the%20partner%E2%80%99s%20assets.-,Hardening%20storage%20template,-We%20have%20further).
-:::
-
:::tip
You can read more about the differences between storage template engine on and off [here](/docs/administration/backup-and-restore#asset-types-and-storage-locations)
:::
@@ -16,11 +12,18 @@ Year/Year-Month-Day/Filename.Extension
If you want to change the storage template during the initial setup, first enable the feature.
-
+
Then, customize your storage template.
-
+
+
+:::info
+The `Storage Template Migration` job can be run after enabling this feature or changing the template, in order to apply the changes to the existing library.
+
+
+
+:::
:::tip
If an asset is in multiple albums, `{{album}}` will be set to the name of the album which was most recently created. By default, special characters will be converted to an HTML entity (for example, `&` -> `&`). To prevent this, wrap the variable in an extra set of braces (for example, `{{{album}}}`). You can learn more about this [here](https://handlebarsjs.com/guide/expressions.html#html-escaping) and [here](https://github.com/immich-app/immich/issues/4917).
diff --git a/docs/docs/partials/_user-create.md b/docs/docs/partials/_user-create.md
index a8c1c69b9f70a..5c5e1fd6f93df 100644
--- a/docs/docs/partials/_user-create.md
+++ b/docs/docs/partials/_user-create.md
@@ -1,9 +1,7 @@
If you have friends or family members who want to use the application as well, you can create additional accounts for them.
-
+
In the Administration panel, you can click on the **Create user** button, and you'll be presented with the following dialog:
-
-
-You can then set an initial password. If you'd like, you can use an easy password like `password`, and keep the setting **Require user to change password on first login** active. This will prompt the user to change their password on first login, to a password that they choose.
+
diff --git a/docs/docs/partials/img/admin-registration-form.png b/docs/docs/partials/img/admin-registration-form.png
deleted file mode 100644
index dd2c2caf14ca7..0000000000000
Binary files a/docs/docs/partials/img/admin-registration-form.png and /dev/null differ
diff --git a/docs/docs/partials/img/admin-registration-form.webp b/docs/docs/partials/img/admin-registration-form.webp
new file mode 100644
index 0000000000000..eac5da94d0c61
Binary files /dev/null and b/docs/docs/partials/img/admin-registration-form.webp differ
diff --git a/docs/docs/partials/img/album-selection.png b/docs/docs/partials/img/album-selection.png
deleted file mode 100644
index e872120b8ebf3..0000000000000
Binary files a/docs/docs/partials/img/album-selection.png and /dev/null differ
diff --git a/docs/docs/partials/img/album-selection.webp b/docs/docs/partials/img/album-selection.webp
new file mode 100644
index 0000000000000..fc7faf2150346
Binary files /dev/null and b/docs/docs/partials/img/album-selection.webp differ
diff --git a/docs/docs/partials/img/backup-header.png b/docs/docs/partials/img/backup-header.png
deleted file mode 100644
index 629f13c8a8014..0000000000000
Binary files a/docs/docs/partials/img/backup-header.png and /dev/null differ
diff --git a/docs/docs/partials/img/backup-header.webp b/docs/docs/partials/img/backup-header.webp
new file mode 100644
index 0000000000000..dcc4357807bc0
Binary files /dev/null and b/docs/docs/partials/img/backup-header.webp differ
diff --git a/docs/docs/partials/img/create-new-user-dialog.png b/docs/docs/partials/img/create-new-user-dialog.png
deleted file mode 100644
index 9d472b9f7c77d..0000000000000
Binary files a/docs/docs/partials/img/create-new-user-dialog.png and /dev/null differ
diff --git a/docs/docs/partials/img/create-new-user-dialog.webp b/docs/docs/partials/img/create-new-user-dialog.webp
new file mode 100644
index 0000000000000..47d50f8b04230
Binary files /dev/null and b/docs/docs/partials/img/create-new-user-dialog.webp differ
diff --git a/docs/docs/partials/img/create-new-user.png b/docs/docs/partials/img/create-new-user.png
deleted file mode 100644
index 8d00154d50f0f..0000000000000
Binary files a/docs/docs/partials/img/create-new-user.png and /dev/null differ
diff --git a/docs/docs/partials/img/create-new-user.webp b/docs/docs/partials/img/create-new-user.webp
new file mode 100644
index 0000000000000..e3cdb796a3ab3
Binary files /dev/null and b/docs/docs/partials/img/create-new-user.webp differ
diff --git a/docs/docs/partials/img/enable-storage-template.png b/docs/docs/partials/img/enable-storage-template.png
deleted file mode 100644
index 0c4ca44c43300..0000000000000
Binary files a/docs/docs/partials/img/enable-storage-template.png and /dev/null differ
diff --git a/docs/docs/partials/img/enable-storage-template.webp b/docs/docs/partials/img/enable-storage-template.webp
new file mode 100644
index 0000000000000..809bf09adfeec
Binary files /dev/null and b/docs/docs/partials/img/enable-storage-template.webp differ
diff --git a/docs/docs/partials/img/sign-in-phone.jpeg b/docs/docs/partials/img/sign-in-phone.jpeg
deleted file mode 100644
index 03af588a10af8..0000000000000
Binary files a/docs/docs/partials/img/sign-in-phone.jpeg and /dev/null differ
diff --git a/docs/docs/partials/img/sign-in-phone.webp b/docs/docs/partials/img/sign-in-phone.webp
new file mode 100644
index 0000000000000..2af8163af3e1d
Binary files /dev/null and b/docs/docs/partials/img/sign-in-phone.webp differ
diff --git a/docs/docs/partials/img/storage-template-migration-job.webp b/docs/docs/partials/img/storage-template-migration-job.webp
new file mode 100644
index 0000000000000..7d4c62cfbe9f2
Binary files /dev/null and b/docs/docs/partials/img/storage-template-migration-job.webp differ
diff --git a/docs/docs/partials/img/storage-template.png b/docs/docs/partials/img/storage-template.png
deleted file mode 100644
index e920f29b1f7dd..0000000000000
Binary files a/docs/docs/partials/img/storage-template.png and /dev/null differ
diff --git a/docs/docs/partials/img/storage-template.webp b/docs/docs/partials/img/storage-template.webp
new file mode 100644
index 0000000000000..e2f9401a706c6
Binary files /dev/null and b/docs/docs/partials/img/storage-template.webp differ
diff --git a/docs/package-lock.json b/docs/package-lock.json
index ca80d15fd0026..c9ae86bec9f2e 100644
--- a/docs/package-lock.json
+++ b/docs/package-lock.json
@@ -28,7 +28,6 @@
},
"devDependencies": {
"@docusaurus/module-type-aliases": "~3.5.2",
- "@tsconfig/docusaurus": "^2.0.2",
"prettier": "^3.2.4",
"typescript": "^5.1.6"
},
@@ -3458,12 +3457,6 @@
"node": ">=10.13.0"
}
},
- "node_modules/@tsconfig/docusaurus": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@tsconfig/docusaurus/-/docusaurus-2.0.3.tgz",
- "integrity": "sha512-3l1L5PzWVa7l0691TjnsZ0yOIEwG9DziSqu5IPZPlI5Dowi7z42cEym8Y35GHbgHvPcBfNxfrbxm7Cncn4nByQ==",
- "dev": true
- },
"node_modules/@types/acorn": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz",
diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css
index f693ce701b3ab..dc3ff4e9ef9b6 100644
--- a/docs/src/css/custom.css
+++ b/docs/src/css/custom.css
@@ -9,10 +9,18 @@
@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
-html,
-button {
- font-family: 'Be Vietnam Pro', sans-serif;
+body {
+ font-family: 'Be Vietnam Pro', serif;
font-optical-sizing: auto;
+ /* font-size: 1.125rem;
+ ascent-override: 106.25%;
+ size-adjust: 106.25%; */
+}
+
+.breadcrumbs__link {
+ font-weight: 500;
+ font-size: 0.875rem;
+ padding: 8px 16px 8px 16px;
}
img {
@@ -53,13 +61,18 @@ div[class^='announcementBar_'] {
.menu__link {
padding: 10px;
padding-left: 16px;
- border-radius: 10px;
- font-size: 15px;
+ border-radius: 24px;
+ margin-right: 16px;
}
.menu__list-item-collapsible {
border-radius: 10px;
- font-size: 15px;
+ margin-right: 16px;
+ border-radius: 24px;
+}
+
+.menu__link--active {
+ font-weight: 500;
}
code {
diff --git a/docs/src/pages/roadmap.tsx b/docs/src/pages/roadmap.tsx
index 6fa09372f13b5..46997fdfb7d48 100644
--- a/docs/src/pages/roadmap.tsx
+++ b/docs/src/pages/roadmap.tsx
@@ -183,30 +183,6 @@ const withRelease = ({
};
const roadmap: Item[] = [
- {
- done: false,
- icon: mdiLockOutline,
- iconColor: 'sandybrown',
- title: 'Private/locked photos',
- description: 'Private assets with extra protections',
- getDateLabel: () => 'Planned for 2025',
- },
- {
- done: false,
- icon: mdiCloudUploadOutline,
- iconColor: 'cornflowerblue',
- title: 'Better background backups',
- description: 'Rework background backups to be more reliable',
- getDateLabel: () => 'Planned for 2025',
- },
- {
- done: false,
- icon: mdiCameraBurst,
- iconColor: 'rebeccapurple',
- title: 'Auto stacking',
- description: 'Auto stack burst photos',
- getDateLabel: () => 'Planned for 2025',
- },
{
done: false,
icon: mdiFlash,
@@ -239,6 +215,30 @@ const roadmap: Item[] = [
description: 'Immich goes stable',
getDateLabel: () => 'Planned for early 2025',
},
+ {
+ done: false,
+ icon: mdiLockOutline,
+ iconColor: 'sandybrown',
+ title: 'Private/locked photos',
+ description: 'Private assets with extra protections',
+ getDateLabel: () => 'Planned for 2025',
+ },
+ {
+ done: false,
+ icon: mdiCloudUploadOutline,
+ iconColor: 'cornflowerblue',
+ title: 'Better background backups',
+ description: 'Rework background backups to be more reliable',
+ getDateLabel: () => 'Planned for 2025',
+ },
+ {
+ done: false,
+ icon: mdiCameraBurst,
+ iconColor: 'rebeccapurple',
+ title: 'Auto stacking',
+ description: 'Auto stack burst photos',
+ getDateLabel: () => 'Planned for 2025',
+ },
];
const milestones: Item[] = [
diff --git a/docs/static/_redirects b/docs/static/_redirects
index df45fc95e8563..486d4c84606f0 100644
--- a/docs/static/_redirects
+++ b/docs/static/_redirects
@@ -25,7 +25,8 @@
/docs/developer/contributing /docs/developer/pr-checklist 301
/docs/guides/machine-learning /docs/guides/remote-machine-learning 301
/docs/administration/password-login /docs/administration/system-settings 301
-/docs/features/search /docs/features/smart-search 301
+/docs/features/search /docs/features/searching 301
+/docs/features/smart-search /docs/features/searching 301
/docs/guides/api-album-sync /docs/community-projects 301
/docs/guides/remove-offline-files /docs/community-projects 301
/milestones /roadmap 301
diff --git a/i18n/en.json b/i18n/en.json
index b5f8f3ca9a4d5..2abc586c2375a 100644
--- a/i18n/en.json
+++ b/i18n/en.json
@@ -289,6 +289,8 @@
"transcoding_constant_rate_factor": "Constant rate factor (-crf)",
"transcoding_constant_rate_factor_description": "Video quality level. Typical values are 23 for H.264, 28 for HEVC, 31 for VP9, and 35 for AV1. Lower is better, but produces larger files.",
"transcoding_disabled_description": "Don't transcode any videos, may break playback on some clients",
+ "transcoding_encoding_options": "Encoding Options",
+ "transcoding_encoding_options_description": "Set codecs, resolution, quality and other options for the encoded videos",
"transcoding_hardware_acceleration": "Hardware Acceleration",
"transcoding_hardware_acceleration_description": "Experimental; much faster, but will have lower quality at the same bitrate",
"transcoding_hardware_decoding": "Hardware decoding",
@@ -301,6 +303,8 @@
"transcoding_max_keyframe_interval": "Maximum keyframe interval",
"transcoding_max_keyframe_interval_description": "Sets the maximum frame distance between keyframes. Lower values worsen compression efficiency, but improve seek times and may improve quality in scenes with fast movement. 0 sets this value automatically.",
"transcoding_optimal_description": "Videos higher than target resolution or not in an accepted format",
+ "transcoding_policy": "Transcode Policy",
+ "transcoding_policy_description": "Set when a video will be transcoded",
"transcoding_preferred_hardware_device": "Preferred hardware device",
"transcoding_preferred_hardware_device_description": "Applies only to VAAPI and QSV. Sets the dri node used for hardware transcoding.",
"transcoding_preset_preset": "Preset (-preset)",
@@ -309,7 +313,7 @@
"transcoding_reference_frames_description": "The number of frames to reference when compressing a given frame. Higher values improve compression efficiency, but slow down encoding. 0 sets this value automatically.",
"transcoding_required_description": "Only videos not in an accepted format",
"transcoding_settings": "Video Transcoding Settings",
- "transcoding_settings_description": "Manage the resolution and encoding information of the video files",
+ "transcoding_settings_description": "Manage which videos to transcode and how to process them",
"transcoding_target_resolution": "Target resolution",
"transcoding_target_resolution_description": "Higher resolutions can preserve more detail but take longer to encode, have larger file sizes, and can reduce app responsiveness.",
"transcoding_temporal_aq": "Temporal AQ",
@@ -322,7 +326,7 @@
"transcoding_transcode_policy_description": "Policy for when a video should be transcoded. HDR videos will always be transcoded (except if transcoding is disabled).",
"transcoding_two_pass_encoding": "Two-pass encoding",
"transcoding_two_pass_encoding_setting_description": "Transcode in two passes to produce better encoded videos. When max bitrate is enabled (required for it to work with H.264 and HEVC), this mode uses a bitrate range based on the max bitrate and ignores CRF. For VP9, CRF can be used if max bitrate is disabled.",
- "transcoding_video_codec": "Video Codec",
+ "transcoding_video_codec": "Video codec",
"transcoding_video_codec_description": "VP9 has high efficiency and web compatibility, but takes longer to transcode. HEVC performs similarly, but has lower web compatibility. H.264 is widely compatible and quick to transcode, but produces much larger files. AV1 is the most efficient codec but lacks support on older devices.",
"trash_enabled_description": "Enable Trash features",
"trash_number_of_days": "Number of days",
@@ -756,6 +760,7 @@
"getting_started": "Getting Started",
"go_back": "Go back",
"go_to_search": "Go to search",
+ "go_to_folder": "Go to folder",
"group_albums_by": "Group albums by...",
"group_no": "No grouping",
"group_owner": "Group by owner",
@@ -1339,4 +1344,4 @@
"yes": "Yes",
"you_dont_have_any_shared_links": "You don't have any shared links",
"zoom_image": "Zoom Image"
-}
+}
\ No newline at end of file
diff --git a/mobile/lib/pages/albums/albums.page.dart b/mobile/lib/pages/albums/albums.page.dart
index 6f7d99b72726b..ac6bd2f2fbe25 100644
--- a/mobile/lib/pages/albums/albums.page.dart
+++ b/mobile/lib/pages/albums/albums.page.dart
@@ -255,9 +255,13 @@ class AlbumsPage extends HookConsumerWidget {
fontWeight: FontWeight.w600,
),
),
- subtitle: sorted[index].ownerId == userId
+ subtitle: sorted[index].ownerId != null
? Text(
- '${sorted[index].assetCount} items',
+ '${(sorted[index].assetCount == 1 ? 'album_thumbnail_card_item'.tr(
+ args: ['${sorted[index].assetCount}'],
+ ) : 'album_thumbnail_card_items'.tr(
+ args: ['${sorted[index].assetCount}'],
+ ))} • ${sorted[index].ownerId != userId ? 'album_thumbnail_shared_by'.tr(args: [sorted[index].ownerName!]) : 'album_thumbnail_owned'.tr()}',
overflow: TextOverflow.ellipsis,
style:
context.textTheme.bodyMedium?.copyWith(
@@ -265,21 +269,7 @@ class AlbumsPage extends HookConsumerWidget {
.colorScheme.onSurfaceSecondary,
),
)
- : sorted[index].ownerName != null
- ? Text(
- '${sorted[index].assetCount} items • ${'album_thumbnail_shared_by'.tr(
- args: [
- sorted[index].ownerName!,
- ],
- )}',
- overflow: TextOverflow.ellipsis,
- style: context.textTheme.bodyMedium
- ?.copyWith(
- color: context
- .colorScheme.onSurfaceSecondary,
- ),
- )
- : null,
+ : null,
onTap: () => context.pushRoute(
AlbumViewerRoute(albumId: sorted[index].id),
),
diff --git a/web/src/lib/components/admin-page/settings/ffmpeg/ffmpeg-settings.svelte b/web/src/lib/components/admin-page/settings/ffmpeg/ffmpeg-settings.svelte
index 702ec1c1710b9..58c4be0ca0d9e 100644
--- a/web/src/lib/components/admin-page/settings/ffmpeg/ffmpeg-settings.svelte
+++ b/web/src/lib/components/admin-page/settings/ffmpeg/ffmpeg-settings.svelte
@@ -65,212 +65,237 @@
-
+
+
+
-
+
- (config.ffmpeg.acceptedVideoCodecs = [config.ffmpeg.targetVideoCodec])}
- />
+
-
-
- config.ffmpeg.acceptedAudioCodecs.includes(config.ffmpeg.targetAudioCodec)
- ? null
- : config.ffmpeg.acceptedAudioCodecs.push(config.ffmpeg.targetAudioCodec)}
- />
+
+
+
-
+
+
+ (config.ffmpeg.acceptedVideoCodecs = [config.ffmpeg.targetVideoCodec])}
+ />
-
+
+
+ config.ffmpeg.acceptedAudioCodecs.includes(config.ffmpeg.targetAudioCodec)
+ ? null
+ : config.ffmpeg.acceptedAudioCodecs.push(config.ffmpeg.targetAudioCodec)}
+ />
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
{
+ const folderUrl = new URL(AppRoute.FOLDERS, globalThis.location.href);
+ // Remove the last part of the path to get the parent path
+ const assetParentPath = asset.originalPath.split('/').slice(0, -1).join('/');
+ folderUrl.searchParams.set(QueryParameter.PATH, assetParentPath);
+ return folderUrl.href;
+ };
+
const toggleAssetPath = () => (showAssetPath = !showAssetPath);
let isShowChangeDate = $state(false);
@@ -369,9 +377,14 @@
{/if}
{#if showAssetPath}
-
- {asset.originalPath}
-
+
+
+ {asset.originalPath}
+
+
{/if}
{#if (asset.exifInfo?.exifImageHeight && asset.exifInfo?.exifImageWidth) || asset.exifInfo?.fileSizeInByte}
diff --git a/web/src/lib/components/layouts/user-page-layout.svelte b/web/src/lib/components/layouts/user-page-layout.svelte
index 6822035b193b8..6f11e19bb7a5c 100644
--- a/web/src/lib/components/layouts/user-page-layout.svelte
+++ b/web/src/lib/components/layouts/user-page-layout.svelte
@@ -38,7 +38,7 @@
children,
}: Props = $props();
- let scrollbarClass = $derived(scrollbar ? 'immich-scrollbar p-2 pb-8' : 'scrollbar-hidden');
+ let scrollbarClass = $derived(scrollbar ? 'immich-scrollbar p-2' : 'scrollbar-hidden');
let hasTitleClass = $derived(title ? 'top-16 h-[calc(100%-theme(spacing.16))]' : 'top-0 h-full');
diff --git a/web/src/lib/components/shared-components/settings/setting-input-field.svelte b/web/src/lib/components/shared-components/settings/setting-input-field.svelte
index a04f521773d58..5ef1a764f7b33 100644
--- a/web/src/lib/components/shared-components/settings/setting-input-field.svelte
+++ b/web/src/lib/components/shared-components/settings/setting-input-field.svelte
@@ -63,7 +63,7 @@
onMount(() => {
if (autofocus) {
tick()
- .then(() => input?.focus())
+ .then(() => setTimeout(() => input?.focus(), 0))
.catch((_) => {});
}
});
diff --git a/web/src/lib/components/shared-components/tree/tree-item-thumbnails.svelte b/web/src/lib/components/shared-components/tree/tree-item-thumbnails.svelte
index 1b4d30d0500f8..b84f25060eeab 100644
--- a/web/src/lib/components/shared-components/tree/tree-item-thumbnails.svelte
+++ b/web/src/lib/components/shared-components/tree/tree-item-thumbnails.svelte
@@ -12,7 +12,7 @@
{#if items.length > 0}