Skip to content

Commit

Permalink
Merge branch 'main' of github.com:immich-app/immich into feat/mobile-…
Browse files Browse the repository at this point in the history
…folder-view
  • Loading branch information
alextran1502 committed Jan 3, 2025
2 parents e3e63e5 + b45ff8d commit 424e3b6
Show file tree
Hide file tree
Showing 272 changed files with 680 additions and 788 deletions.
6 changes: 3 additions & 3 deletions docs/docs/FAQ.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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?

Expand All @@ -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?

Expand All @@ -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?
Expand Down
7 changes: 6 additions & 1 deletion docs/docs/administration/backup-and-restore.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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.

Expand Down
4 changes: 2 additions & 2 deletions docs/docs/administration/email-notification.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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:

<img src={require('./img/user-notifications-settings.png').default} width="80%" title="User notification settings" />
<img src={require('./img/user-notifications-settings.webp').default} width="80%" title="User notification settings" />

## 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.

<img src={require('./img/user-notifications-templates.png').default} width="80%" title="User notification templates" />
<img src={require('./img/user-notifications-templates.webp').default} width="80%" title="User notification templates" />
Binary file removed docs/docs/administration/img/admin-jobs-exif.png
Binary file not shown.
Binary file removed docs/docs/administration/img/admin-jobs-objects.png
Binary file not shown.
Binary file removed docs/docs/administration/img/admin-jobs-template.png
Binary file not shown.
Binary file not shown.
Binary file modified docs/docs/administration/img/admin-jobs.webp
Binary file not shown.
Binary file not shown.
Binary file removed docs/docs/administration/img/authentik-redirect.png
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed docs/docs/administration/img/list-users.png
Binary file not shown.
Binary file added docs/docs/administration/img/list-users.webp
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed docs/docs/administration/img/repair-page-1.png
Binary file not shown.
Binary file removed docs/docs/administration/img/repair-page.png
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed docs/docs/administration/img/server-stats.png
Binary file not shown.
Binary file added docs/docs/administration/img/server-stats.webp
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed docs/docs/administration/img/user-quota-size.png
Binary file not shown.
Binary file added docs/docs/administration/img/user-quota-size.webp
Binary file not shown.
Binary file not shown.
Binary file not shown.
4 changes: 0 additions & 4 deletions docs/docs/administration/jobs-workers.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
:::

<img src={require('./img/admin-jobs.webp').default} width="60%" title="Admin jobs" />
31 changes: 0 additions & 31 deletions docs/docs/administration/repair-page.md

This file was deleted.

4 changes: 4 additions & 0 deletions docs/docs/administration/reverse-proxy.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
10 changes: 3 additions & 7 deletions docs/docs/administration/server-stats.md
Original file line number Diff line number Diff line change
@@ -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.
:::

<img src={require('./img/server-stats.png').default} title="server statistic" />
<img src={require('./img/server-stats.webp').default} title="server statistic" />
9 changes: 2 additions & 7 deletions docs/docs/administration/system-settings.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down Expand Up @@ -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.
Expand Down
10 changes: 5 additions & 5 deletions docs/docs/administration/user-management.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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.
:::

<img src={require('./img/user-quota-size.png').default} width="40%" title="Set Quota Size" />
<img src={require('./img/user-quota-size.webp').default} width="40%" title="Set Quota Size" />

## Set Storage Label For User

Expand All @@ -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.
:::

<img src={require('./img/user-storage-label.png').default} width="40%" title="Delete User" />
<img src={require('./img/user-storage-label.webp').default} width="40%" title="Delete User" />

## 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.

<img src={require('./img/user-management-update.png').default} width="40%" title="Reset Password" />
<img src={require('./img/user-management-update.webp').default} width="40%" title="Reset Password" />

## Delete a User

Expand All @@ -72,12 +72,12 @@ 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.
:::

<img src={require('./img/customize-delete-user.png').default} width="80%" title="Customize Delete User" />
<img src={require('./img/customize-delete-user.webp').default} width="80%" title="Customize Delete User" />

### Immediately Remove User

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.

<img src={require('./img/immediately-remove-user.png').default} width="40%" title="Customize Delete User" />
<img src={require('./img/immediately-remove-user.webp').default} width="40%" title="Customize Delete User" />
2 changes: 1 addition & 1 deletion docs/docs/developer/architecture.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Binary file removed docs/docs/developer/img/app-architecture.png
Binary file not shown.
Binary file added docs/docs/developer/img/app-architecture.webp
Binary file not shown.
16 changes: 11 additions & 5 deletions docs/docs/features/automatic-backup.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,24 @@
# 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.

<img src={require('./img/background-foreground-backup.png').default} width="50%" title="Foreground&Background Backup" />
---

You can enable the settings by accessing the upload options from the upload page

<img src={require('./img/backup-settings-access.webp').default} width="50%" title="Backup option selection" />

<img src={require('./img/background-foreground-backup.webp').default} width="50%" title="Foreground&Background Backup" />

## Foreground backup

If foreground backup is enabled: whenever the app is opened or resumed, it will check if any photos or videos in the selected album(s) have yet to be uploaded to the cloud (the remainder count). If there are any, they will be uploaded.

## 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

Expand All @@ -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.

<div style={{textAlign: 'center'}}>
<img src={require('./img/background-app-refresh.png').default} width="30%" title="background-app-refresh" />
<img src={require('./img/background-app-refresh.webp').default} width="30%" title="background-app-refresh" />
</div>

:::
2 changes: 1 addition & 1 deletion docs/docs/features/command-line-interface.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
8 changes: 4 additions & 4 deletions docs/docs/features/facial-recognition.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

<img src={require('./img/facial-recognition-1.png').default} title='Facial Recognition 1' />
<img src={require('./img/facial-recognition-1.webp').default} title='Facial Recognition 1' />

Upon clicking on a person, a list of assets that contain their face will be shown.

<img src={require('./img/facial-recognition-2.png').default} title='Facial Recognition 2' />
<img src={require('./img/facial-recognition-2.webp').default} title='Facial Recognition 2' />

The asset detail view will also show the faces that are recognized in the asset.

<img src={require('./img/facial-recognition-3.png').default} title='Facial Recognition 3' />
<img src={require('./img/facial-recognition-3.webp').default} title='Facial Recognition 3' />

## Actions

Expand All @@ -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.

<img src={require('./img/facial-recognition-4.png').default} title='Facial Recognition 4' width="70%"/>
<img src={require('./img/facial-recognition-4.webp').default} title='Facial Recognition 4' width="70%"/>

## How Face Detection Works

Expand Down
17 changes: 17 additions & 0 deletions docs/docs/features/folder-view.md
Original file line number Diff line number Diff line change
@@ -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

<img src={require('./img/folder-view-enable.webp').default} width="80%" title='Folder view enable' />

## Usage

You can then navigate to the view from the sidebar to explore the folders and files in your library.

<img src={require('./img/folder-access.webp').default} width="30%" title='Folder view access' />

<img src={require('./img/folder-view-1.webp').default} width="100%" title='Folder view' />
2 changes: 1 addition & 1 deletion docs/docs/features/hardware-transcoding.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
Binary file removed docs/docs/features/img/background-app-refresh.png
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed docs/docs/features/img/facial-recognition-1.png
Binary file not shown.
Binary file added docs/docs/features/img/facial-recognition-1.webp
Binary file not shown.
Binary file removed docs/docs/features/img/facial-recognition-2.png
Binary file not shown.
Binary file not shown.
Binary file removed docs/docs/features/img/facial-recognition-3.png
Diff not rendered.
Binary file added docs/docs/features/img/facial-recognition-3.webp
Binary file not shown.
Binary file removed docs/docs/features/img/facial-recognition-4.png
Diff not rendered.
Binary file added docs/docs/features/img/facial-recognition-4.webp
Binary file not shown.
Binary file added docs/docs/features/img/folder-access.webp
Binary file not shown.
Binary file added docs/docs/features/img/folder-view-1.webp
Binary file not shown.
Binary file added docs/docs/features/img/folder-view-enable.webp
Binary file not shown.
Binary file removed docs/docs/features/img/folder-view.png
Diff not rendered.
Diff not rendered.
Binary file not shown.
Binary file removed docs/docs/features/img/me.png
Diff not rendered.
Binary file added docs/docs/features/img/me.webp
Binary file not shown.
Binary file removed docs/docs/features/img/mobile-upload-open-photo.png
Diff not rendered.
Binary file not shown.
Diff not rendered.
Binary file not shown.
Binary file removed docs/docs/features/img/my-wife.png
Diff not rendered.
Binary file added docs/docs/features/img/my-wife.webp
Binary file not shown.
Binary file removed docs/docs/features/img/obtain-api-key.png
Diff not rendered.
Binary file added docs/docs/features/img/obtain-api-key.webp
Binary file not shown.
Binary file removed docs/docs/features/img/partner-sharing-1.png
Diff not rendered.
Binary file added docs/docs/features/img/partner-sharing-1.webp
Binary file not shown.
Binary file removed docs/docs/features/img/partner-sharing-2.png
Diff not rendered.
Binary file added docs/docs/features/img/partner-sharing-2.webp
Binary file not shown.
Binary file removed docs/docs/features/img/partner-sharing-3.png
Diff not rendered.
Binary file added docs/docs/features/img/partner-sharing-3.webp
Binary file not shown.
Binary file removed docs/docs/features/img/partner-sharing-4.png
Diff not rendered.
Binary file added docs/docs/features/img/partner-sharing-4.webp
Binary file not shown.
Binary file removed docs/docs/features/img/partner-sharing-5.png
Diff not rendered.
Binary file added docs/docs/features/img/partner-sharing-5.webp
Binary file not shown.
Binary file removed docs/docs/features/img/partner-sharing-6.png
Diff not rendered.
Binary file added docs/docs/features/img/partner-sharing-6.webp
Binary file not shown.
Binary file removed docs/docs/features/img/partner-sharing-7.png
Diff not rendered.
Binary file added docs/docs/features/img/partner-sharing-7.webp
Binary file not shown.
Binary file added docs/docs/features/img/partner-sharing-8.webp
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Diff not rendered.
Binary file not shown.
Diff not rendered.
Binary file not shown.
Binary file not shown.
Binary file removed docs/docs/features/img/search-ex-1.png
Diff not rendered.
Binary file added docs/docs/features/img/search-ex-1.webp
Binary file not shown.
Binary file added docs/docs/features/img/shared-album-mobile.webp
Binary file not shown.
Binary file not shown.
Binary file added docs/docs/features/img/shared-album.webp
Binary file not shown.
Binary file removed docs/docs/features/img/sidecar-jobs.png
Diff not rendered.
Binary file added docs/docs/features/img/sidecar-jobs.webp
Binary file not shown.
Binary file added docs/docs/features/img/tag-creation.webp
Binary file not shown.
Binary file added docs/docs/features/img/tag-enable.webp
Binary file not shown.
Binary file added docs/docs/features/img/tag-form.webp
Binary file not shown.
Binary file added docs/docs/features/img/tag-view.webp
Binary file not shown.
Binary file removed docs/docs/features/img/user-change-password.png
Diff not rendered.
Binary file added docs/docs/features/img/user-change-password.webp
Binary file not shown.
Binary file removed docs/docs/features/img/user-popup.png
Diff not rendered.
Binary file added docs/docs/features/img/user-popup.webp
Binary file not shown.
Binary file removed docs/docs/features/img/user-profile.png
Diff not rendered.
Binary file added docs/docs/features/img/user-profile.webp
Binary file not shown.
Binary file added docs/docs/features/img/user-settings-1.webp
Binary file not shown.
Binary file added docs/docs/features/img/user-settings-2.webp
Binary file not shown.
Binary file added docs/docs/features/img/user-settings-3.webp
Binary file not shown.
Binary file removed docs/docs/features/img/xmp-sidecars.png
Diff not rendered.
Binary file added docs/docs/features/img/xmp-sidecars.webp
Binary file not shown.
14 changes: 4 additions & 10 deletions docs/docs/features/libraries.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

<img src={require('./img/folder-view.png').default} width="75%" title='Folder-view' />
<img src={require('./img/folder-view-1.webp').default} width="100%" title='Folder-view' />

### Set Custom Scan Interval

Expand All @@ -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/).

<img src={require('./img/library-custom-scan-interval.png').default} width="75%" title='Set custom scan interval for external library' />
<img src={require('./img/library-custom-scan-interval.webp').default} width="75%" title='Set custom scan interval for external library' />
2 changes: 1 addition & 1 deletion docs/docs/features/ml-hardware-acceleration.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
4 changes: 2 additions & 2 deletions docs/docs/features/mobile-app.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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 **<ins>Library -> On this device</ins>**. To selectively upload photos from these albums, simply select the local-only photos and tap on "Upload" button in the dynamic bottom menu.

<img
src={require('./img/mobile-upload-open-photo.png').default}
src={require('./img/mobile-upload-open-photo.webp').default}
width="50%"
title="Upload button on local asset preview"
/>
<img
src={require('./img/mobile-upload-selected-photos.png').default}
src={require('./img/mobile-upload-selected-photos.webp').default}
width="40%"
title="Upload button after photos selection"
/>
Expand Down
Loading

0 comments on commit 424e3b6

Please sign in to comment.