From 83315804be42f9d7d6d0a93b75e56e22dd33989e Mon Sep 17 00:00:00 2001 From: aviv <51673860+aviv926@users.noreply.github.com> Date: Sun, 24 Dec 2023 01:13:13 +0200 Subject: [PATCH] Update added and re -arrangement of FAQ --- docs/docs/FAQ.md | 122 ----------------- docs/docs/FAQ/Albums-FAQ.md | 12 ++ docs/docs/FAQ/Assets-FAQ.md | 63 +++++++++ docs/docs/FAQ/Docker-FAQ.md | 62 +++++++++ docs/docs/FAQ/External Library-FAQ.md | 14 ++ docs/docs/FAQ/FAQ-General.md | 6 + docs/docs/FAQ/Machine-Learning-FAQ.md | 125 ++++++++++++++++++ docs/docs/FAQ/Mobile-App-FAQ.md | 24 ++++ docs/docs/FAQ/Performance-FAQ.md | 48 +++++++ docs/docs/FAQ/Privacy-FAQ.md | 12 ++ docs/docs/FAQ/User-FAQ.md | 13 ++ docs/docs/FAQ/_category_.json | 4 + docs/docs/developer/architecture.mdx | 2 +- .../20231219_183007_add-new-server-option.png | Bin 0 -> 39500 bytes docs/docs/guides/database-GUI-view.md | 42 ++++++ docs/docs/guides/img/Connection-Pgadmin.png | Bin 0 -> 36800 bytes .../docs/guides/img/add-new-server-option.png | Bin 0 -> 39500 bytes docs/docs/guides/img/unique-key.png | Bin 0 -> 18972 bytes docs/docs/guides/img/view-log.png | Bin 0 -> 8740 bytes docs/docs/guides/remote-access.md | 1 + docs/docs/overview/Comparison.md | 6 + docs/src/pages/index-FAQ.tsx | 3 + docs/src/pages/index.tsx | 1 + 23 files changed, 437 insertions(+), 123 deletions(-) delete mode 100644 docs/docs/FAQ.md create mode 100644 docs/docs/FAQ/Albums-FAQ.md create mode 100644 docs/docs/FAQ/Assets-FAQ.md create mode 100644 docs/docs/FAQ/Docker-FAQ.md create mode 100644 docs/docs/FAQ/External Library-FAQ.md create mode 100644 docs/docs/FAQ/FAQ-General.md create mode 100644 docs/docs/FAQ/Machine-Learning-FAQ.md create mode 100644 docs/docs/FAQ/Mobile-App-FAQ.md create mode 100644 docs/docs/FAQ/Performance-FAQ.md create mode 100644 docs/docs/FAQ/Privacy-FAQ.md create mode 100644 docs/docs/FAQ/User-FAQ.md create mode 100644 docs/docs/FAQ/_category_.json create mode 100644 docs/docs/guides/assets/20231219_183007_add-new-server-option.png create mode 100644 docs/docs/guides/database-GUI-view.md create mode 100644 docs/docs/guides/img/Connection-Pgadmin.png create mode 100644 docs/docs/guides/img/add-new-server-option.png create mode 100644 docs/docs/guides/img/unique-key.png create mode 100644 docs/docs/guides/img/view-log.png create mode 100644 docs/docs/overview/Comparison.md create mode 100644 docs/src/pages/index-FAQ.tsx diff --git a/docs/docs/FAQ.md b/docs/docs/FAQ.md deleted file mode 100644 index 54fdb11b2c..0000000000 --- a/docs/docs/FAQ.md +++ /dev/null @@ -1,122 +0,0 @@ ---- -sidebar_position: 7 ---- - -# FAQ - -### What is the difference between the cloud icon on the mobile app? - -| Icon | Description | -| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | -| ![cloud](/img/cloud.svg) | Asset is only available in the cloud and was uploaded from some other device (like the web client) or was deleted from this device after upload | -| ![cloud-cross](/img/cloud-off.svg) | Asset is only available locally and has not yet been backed up | -| ![cloud-done](/img/cloud-done.svg) | Asset was uploaded from this device and is now backed up in the cloud/server and still available in original on the device | - -### Can I add my existing photo library? - -Yes, with an [external library](/docs/features/libraries.md). - -### Why are only photos and not videos being uploaded to Immich? - -This often happens when using a reverse proxy or cloudflare tunnel in front of Immich. Make sure to set your reverse proxy to allow large POST requests. In `nginx`, set `client_max_body_size 50000M;` or similar. Cloudflare tunnels are limited to 100 mb file sizes. Also check the disk space of your reverse proxy, in some cases proxies caches requests to disk before passing them on, and if disk space runs out the request fails. - -### Why is Immich slow on low-memory systems like the Raspberry Pi? - -Immich optionally uses machine learning for several features. However, it can be too heavy to run on a Raspberry Pi. You can [mitigate](/docs/FAQ#how-can-i-lower-immichs-cpu-usage) this or [disable](/docs/FAQ.md#how-can-i-disable-machine-learning) machine learning entirely. - -### How can I lower Immich's CPU usage? - -The initial backup is the most intensive due to the number of jobs running. The most CPU-intensive ones are transcoding and machine learning jobs (Tag Images, Smart Search, Recognize Faces), and to a lesser extent thumbnail generation. Here are some ways to lower their CPU usage: - -- Lower the job concurrency for these jobs to 1. -- Under Settings > Transcoding Settings > Threads, set the number of threads to a low number like 1 or 2. -- Under Settings > Machine Learning Settings > Facial Recognition > Model Name, you can change the facial recognition model to `buffalo_s` instead of `buffalo_l`. The former is a smaller and faster model, albeit not as good. - - You _must_ re-run the Recognize Faces job for all images after this for facial recognition on new images to work properly. -- If these changes are not enough, see [below](/docs/FAQ.md#how-can-i-disable-machine-learning) for how you can disable machine learning. - -### How can I disable machine learning? - -:::info -Disabling machine learning will result in a poor experience for searching and the 'Explore' page, as these are reliant on it to work as intended. -::: - -Machine learning can be disabled under Settings > Machine Learning Settings, either entirely or by model type. For instance, you can choose to disable smart search with CLIP, but keep facial recognition enabled. This means that the machine learning service will only process the enabled jobs. - -However, disabling all jobs will not disable the machine learning service itself. To prevent it from starting up at all in this case, you can comment out the `immich-machine-learning` section of the docker-compose.yml. - -### I'm getting errors about models being corrupt or failing to download. What do I do? - -You can delete the model cache volume, which is where models are downloaded. This will give the service a clean environment to download the model again. - -### What happens to existing files after I choose a new [Storage Template](/docs/administration/storage-template.mdx)? - -Template changes will only apply to new assets. To retroactively apply the template to previously uploaded assets, run the Storage Migration Job, available on the [Jobs](/docs/administration/jobs.md) page. - -### In the uploads folder, why are photos stored in the wrong date? - -This is fixed by running the storage migration job. - -### Why are there so many thumbnail generation jobs? - -Immich generates three thumbnails for each asset (blurred, small, and large), as well as a thumbnail for each recognized face. - -### How can I see Immich logs? - -Most Immich components are typically deployed using docker. To see logs for deployed docker containers, you can use the [Docker CLI](https://docs.docker.com/engine/reference/commandline/cli/), specifically the `docker logs` command. For examples, see [Docker Help](/docs/guides/docker-help.md) - -### How can I run Immich as a non-root user? - -1. Set the `PUID`/`PGID` environment variables (in `.env`). -2. Set the corresponding `user` argument in `docker-compose` for each service. -3. Add an additional volume to `immich-microservices` that mounts internally to `/usr/src/app/.reverse-geocoding-dump`. - -The non-root user/group needs read/write access to the volume mounts, including `UPLOAD_LOCATION`. - -### How can I reset the admin password? - -The admin password can be reset by running the [reset-admin-password](/docs/administration/server-commands.md) command on the immich-server. - -### How can I backup data from Immich? - -See [backup and restore](/docs/administration/backup-and-restore.md). - -### How can I **purge** data from Immich? - -Data for Immich comes in two forms: - -1. **Metadata** stored in a postgres database, persisted via the `pg_data` volume -2. **Files** (originals, thumbs, profile, etc.), stored in the `UPLOAD_LOCATION` folder. - -To remove the **Metadata** you can stop Immich and delete the volume. - -```bash title="Remove Immich (containers and volumes)" -docker-compose down -v -``` - -After removing the containers and volumes, the **Files** can be cleaned up (if necessary) from the `UPLOAD_LOCATION` by simply deleting an unwanted files or folders. - -### How can I move all data (photos, persons, albums) from one user to another? - -This requires some database queries. You can do this on the command line (in the PostgreSQL container using the psql command), or you can add for example an [Adminer](https://www.adminer.org/) container to the `docker-compose.yml` file, so that you can use a web-interface. - -:::warning -This is an advanced operation. If you can't to do it with the steps described here, this is not for you. -::: - -1. **MAKE A BACKUP** - See [backup and restore](/docs/administration/backup-and-restore.md). -2. Find the id of both the 'source' and the 'destination' user (it's the id column in the users table) -3. Three tables need to be updated: - - ```sql - // reassign albums - update albums set "ownerId" = '' where "ownerId" = ''; - - // reassign people - update person set "ownerId" = '' where "ownerId" = ''; - - // reassign assets - update assets set "ownerId" = '' where "ownerId" = '' - and checksum not in (select checksum from assets where "ownerId" = ''); - ``` - -4. There might be left-over assets in the 'source' user's library if they are skipped by the last query because of duplicate checksums. These are probably duplicates anyway, and can probably be removed. diff --git a/docs/docs/FAQ/Albums-FAQ.md b/docs/docs/FAQ/Albums-FAQ.md new file mode 100644 index 0000000000..194c99443d --- /dev/null +++ b/docs/docs/FAQ/Albums-FAQ.md @@ -0,0 +1,12 @@ +--- +sidebar_position: 4 +--- + +# Albums + +### Can I import assets to Immich while maintaining Existing Structure Albume? + +Yes you can by using Immich CLI with -a command, see [this document](http://localhost:3005/docs/features/command-line-interface) for more info. + +### there is a way to select the order in which photos are presented when an album is opened? +Not yet, but it's [something planned](https://github.com/immich-app/immich/discussions/1689) \ No newline at end of file diff --git a/docs/docs/FAQ/Assets-FAQ.md b/docs/docs/FAQ/Assets-FAQ.md new file mode 100644 index 0000000000..4ebfbe544c --- /dev/null +++ b/docs/docs/FAQ/Assets-FAQ.md @@ -0,0 +1,63 @@ +--- +sidebar_position: 3 +--- + +# Assets + +### Can I add my existing photo library? + +Yes, with an [external library](/docs/features/libraries.md). + +### What happens to existing files after I choose a new [Storage Template](/docs/administration/storage-template.mdx)? + +Template changes will only apply to new assets. To retroactively apply the template to previously uploaded assets, run the Storage Migration Job, available on the [Jobs](/docs/administration/jobs.md) page. + +### Why are only photos and not videos being uploaded to Immich? + +This often happens when using a reverse proxy or cloudflare tunnel in front of Immich. Make sure to set your reverse proxy to allow large POST requests. In `nginx`, set `client_max_body_size 50000M;` or similar. Also check the disk space of your reverse proxy, in some cases proxies caches requests to disk before passing them on, and if disk space runs out the request fails. + +### In the uploads folder, why are photos stored in the wrong date? + +This is fixed by running the storage migration job. + +### How can I backup data from Immich? + +See [backup and restore](/docs/administration/backup-and-restore.md). + +### Does Immich supports reading faces tags from the Exif? + +not at this moment + +### Does Immich support filtering of images defined as NSFW? + +As of now, this option is not implemented, but it seems that there is an [open discussion about it +On Github](https://github.com/immich-app/immich/discussions/2451) you can submit a pull request or vote for the discussion + +### Why are there so many thumbnail generation jobs? + +Immich generates three thumbnails for each asset (blurred, small, and large), as well as a thumbnail for each recognized face. + +### How can I move all data (photos, persons, albums) from one user to another? + +This requires some database queries. You can do this on the command line (in the PostgreSQL container using the psql command), or you can add for example an [Adminer](https://www.adminer.org/) container to the `docker-compose.yml` file, so that you can use a web-interface. + +:::warning +This is an advanced operation. If you can't to do it with the steps described here, this is not for you. +::: + +1. **MAKE A BACKUP** - See [backup and restore](/docs/administration/backup-and-restore.md). +2. Find the id of both the 'source' and the 'destination' user (it's the id column in the users table) +3. Three tables need to be updated: + + ```sql + // reassign albums + UPDATE albums SET "ownerId" = '' WHERE "ownerId" = ''; + + // reassign people + UPDATE person SET "ownerId" = '' WHERE "ownerId" = ''; + + // reassign assets + UPDATE assets SET "ownerId" = '' WHERE "ownerId" = '' + AND CHECKSUM NOT IN (SELECT CHECKSUM FROM assets WHERE "ownerId" = ''); + ``` +4. There might be left-over assets in the 'source' user's library if they are skipped by the last query because of duplicate checksums. These are probably duplicates anyway, and can probably be removed. \ No newline at end of file diff --git a/docs/docs/FAQ/Docker-FAQ.md b/docs/docs/FAQ/Docker-FAQ.md new file mode 100644 index 0000000000..be1cc66a2c --- /dev/null +++ b/docs/docs/FAQ/Docker-FAQ.md @@ -0,0 +1,62 @@ +--- +sidebar_position: 6 +--- + +# Docker + +## Docker General + +### How can I see Immich logs? + +Most Immich components are typically deployed using docker. To see logs for deployed docker containers, you can use the [Docker CLI](https://docs.docker.com/engine/reference/commandline/cli/), specifically the `docker logs` command. For examples, see [Docker Help](/docs/guides/docker-help.md) + +### How can I run Immich as a non-root user? + +1. Set the `PUID`/`PGID` environment variables (in `.env`). +2. Set the corresponding `user` argument in `docker-compose` for each service. +3. Add an additional volume to `immich-microservices` that mounts internally to `/usr/src/app/.reverse-geocoding-dump`. + +The non-root user/group needs read/write access to the volume mounts, including `UPLOAD_LOCATION`. + +### How can I **purge** data from Immich? + +Data for Immich comes in two forms: + +1. **Metadata** stored in a postgres database, persisted via the `pg_data` volume +2. **Files** (originals, thumbs, profile, etc.), stored in the `UPLOAD_LOCATION` folder. + +To remove the **Metadata** you can stop Immich and delete the volume. + +```bash title="Remove Immich (containers and volumes)" +docker compose down -v +``` + +After removing the containers and volumes, the **Files** can be cleaned up (if necessary) from the `UPLOAD_LOCATION` by simply deleting an unwanted files or folders. + +## Docker errors + +### I am getting `Could not find image processor` ERROR class in ML containers what can i do? +:::note +This problem is irrelevant if Immich runs on a higher version from V1.91.5 and above +::: + +if you getting this logs: + +
+ Could not find image processor class in the image processor config or the model config. + +``` +2023-12-14 12:44:17 Could not find image processor class in the image processor config or the model config. Loading based on pattern matching with the model's feature extractor configuration. +ERROR [JobService] Unable to run job handler (objectTagging/classify-image): TypeError: fetch failed +ERROR [JobService] TypeError: fetch failed +at Object.fetch (node:internal/deps/undici/undici:11730:11) +at async MachineLearningRepository.post (/usr/src/app/dist/infra/repositories/machine-learning.repository.js:16:21) +at async SmartInfoService.handleClassifyImage (/usr/src/app/dist/domain/smart-info/smart-info.service.js:55:22) +at async /usr/src/app/dist/domain/job/job.service.js:112:37 +at async Worker.processJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:387:28) +at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:574:24) +``` + +
+ +It means the model could not be exported to ONNX. I think this error happens is specific to ARM devices. You can disable Image Tagging in the admin settings to avoid this issue[[1]](https://discord.com/channels/979116623879368755/1184823648364798092/1184823806708166696) \ No newline at end of file diff --git a/docs/docs/FAQ/External Library-FAQ.md b/docs/docs/FAQ/External Library-FAQ.md new file mode 100644 index 0000000000..d4777d6147 --- /dev/null +++ b/docs/docs/FAQ/External Library-FAQ.md @@ -0,0 +1,14 @@ +--- +sidebar_position: 3 +--- + +# External Library + +### Can I add external library with existing structure albume? + +We haven't put in an official mechanism to create album from your external library yet, but there are some [workarounds from the community](https://github.com/immich-app/immich/discussions/4279) which you can find here to help you achieve that. + +### I got Duplicate files on Uploaded and External Library +It is important to remember that Immich does not filter duplicate files from [external Library](/docs/features/libraries), +Uploaded and External library use different dedup mechanism, upload library use file hash/checksum while external library use [file path](http://localhost:3005/docs/features/libraries#:~:text=In%20external%20libraries%2C%20the%20file%20path%20is%20used%20for%20duplicate%20detection.) +Therefore, a situation where the same file appears twice in the timeline is possible diff --git a/docs/docs/FAQ/FAQ-General.md b/docs/docs/FAQ/FAQ-General.md new file mode 100644 index 0000000000..59760ff046 --- /dev/null +++ b/docs/docs/FAQ/FAQ-General.md @@ -0,0 +1,6 @@ +--- +sidebar_position: 1 +--- + +# FAQ General + diff --git a/docs/docs/FAQ/Machine-Learning-FAQ.md b/docs/docs/FAQ/Machine-Learning-FAQ.md new file mode 100644 index 0000000000..7f4668dbed --- /dev/null +++ b/docs/docs/FAQ/Machine-Learning-FAQ.md @@ -0,0 +1,125 @@ +--- +sidebar_position: 6 +--- +# Machine Learning + +### What is the technology that Immich use for machine learning? + +- For search function (smart search) - Immich uses Clip Models, for more information about Clip and its capabilities can be [read here](https://openai.com/research/clip) and [experience here](https://huggingface.co/models?pipeline_tag=zero-shot-image-classification&sort=trending). + +- For face detection and recognition, Immich uses [Insightface Model Zoo models](https://github.com/deepinsight/insightface/tree/master/model_zoo). + +### How can I disable machine learning? + +:::info +Disabling machine learning will result in a poor experience for searching and the 'Explore' page, as these are reliant on it to work as intended. +::: + +Machine learning can be disabled under Administration > Settings > Machine Learning Settings, either entirely or by model type. For instance, you can choose to disable smart search with CLIP, but keep facial recognition enabled. This means that the machine learning service will only process the enabled jobs. + +However, disabling all jobs will not disable the machine learning service itself. To prevent it from starting up at all in this case, you can comment out the `immich-machine-learning` section of the docker-compose.yml. + +### I'm getting errors about models being corrupt or failing to download. What do I do? + +You can delete the model cache volume, which is where models are downloaded. This will give the service a clean environment to download the model again. + +### What is the technology that Immich works on for machine learning? + +* For image classification models listed [here](https://huggingface.co/models?pipeline_tag=image-classification&sort=trending). It must be tagged with the 'Image Classification' task and must support ONNX conversion +* For the search function ~ smart search Immich uses CLIP models. More information about CLIP and its capabilities can be read [here](https://openai.com/research/clip) and tried [here](https://huggingface.co/models?pipeline_tag=zero-shot-image-classification) +* For facial recognition Immich uses each of the InsightFace Model Zoo models. You can look at the model differences in detail [here](https://github.com/deepinsight/insightface/blob/c2db41402c627cab8ea32d55da591940f2258276/model_zoo/README.md#insightface-model-zoo) + +### Why did Immich decide to remove object detection? + +It was deprecated because it wasn't really used and caused crashes for some users. +users often confuse it with the more useful smart search feature. +For more info see [here](https://github.com/immich-app/immich/pull/5903) + +### What is the best order for ML to best work + +Because Immich is relies on thumbnail generation +For machine learning [[1](http://localhost:3005/docs/developer/architecture#:~:text=For%20example%2C%20Smart%20Search%20and%20Facial%20Recognition%20relies%20on%20thumbnail%20generation)], it is recommended to wait for the thumbnail generation job to finish and then run the machine learning jobs (Smart Search and Facial Recognition) + +* Let all jobs run except the machine learning jobs and wait for them to finish +* Run Smart Search +* Run Facial Recognition + +### What are the best ML models I can use for Immich + +:::info +It is important to know that these models greatly enhance the Immich ML, but you should know that they require more processing power and more storage and working memory (RAM) If you are using an old computer or Raspberry Pi for Immich you may want to look at [how to use machine learning remotely](/docs/guides/machine-learning) to run the machine learning on a higher performance computer. +::: +:::tip +You can check how much model processing power will be required by checking Flops(B) in [this table](https://github.com/mlfoundations/open_clip/blob/main/docs/openclip_results.csv) +The higher the value this indicates increased consumption of server resources. +::: + +* For Facial recognition the best model will be `buffalo_l`. + +
+ why is it? + +from this [deepinsight/insightface#1820](https://github.com/deepinsight/insightface/issues/1820) it looks like the "r100 glint360k model" (which seems [antelopev2](https://github.com/deepinsight/insightface/blob/master/python-package/README.md)) performs worse than the `buffalo_l` model because the latter is trained on more data with a better training schedule. Seems like there is a reason that insightface does not promote the `antelopev2` model and prefers the `buffalo_l`[[1](https://github.com/deepinsight/insightface/issues/1820#issuecomment-968200625)]. + +Glint360k (of `antelopev2`) is 360k identities and 17M images. +WebFace600K(600K identities) is same as WebFace12M(12 million images), a subset of WebFace42M(cleaned WebFace260M)[[2](https://github.com/deepinsight/insightface/issues/1770#issuecomment-927131443)]. + +See the [full discussion](https://github.com/immich-app/immich/discussions/5028) in GitHub for more information. + +
+ +* For the smart search feature the best Clip model will be `ViT-H-14-378-quickgelu` or `vit-H-14-Qickgelu`. + +
+ why is it? + +You might want to consider `ViT-H-14-quickgelu` over `ViT-H-14-378-quickgeludfn5b` +because it takes much less processing power and the difference between the +Average perf. on 38 datasets is really "nothing" +to be precise a difference of 0.0118. +And the advantage of ViT-H-14-quickgelu is that it requires much less processing power +381.68 compared to 1054.05. + +Sources: +[Discord](https://discord.com/channels/979116623879368755/1174254430221254738), +[openclip results](https://github.com/mlfoundations/open_clip/blob/main/docs/openclip_results.csv#L3), +[openclip retrieval results](https://github.com/mlfoundations/open_clip/blob/main/docs/openclip_retrieval_results.csv). + +
+ +
+ How to apply? + +1. In the browser, log in to your Admin user +2. Go to the url [http://localhost:2283/admin/system-settings?open=job-settings](http://localhost:2283/admin/system-settings?open=job-settings) +3. Go to Machine Learning Settings +4. change the models and save +5. rerun the jobs of ML to take effect + +
+ +:::note +Changing a model does not delete the previous model, pay attention to delete the old model to save space in drive. +Models are stored in IMMICH_MODEL-CACHE. +::: + +### I would like to use the Clip model i created, how can i do that? + +you can't, because we have a [whitelist](https://github.com/immich-app/immich/blob/main/machine-learning/app/models/constants.py) of models in the server code that has each model’s [dimension size](https://github.com/immich-app/immich/blob/main/server/src/domain/smart-info/smart-info.constant.ts). We use this to update the index to the right dim size when the model changes so custom models aren’t supported. +The [export script](https://github.com/immich-app/immich/tree/main/machine-learning/export) in Immich Github page is meant for us to be able to automate exporting and uploading to Huggingface you can send a [pull request](https://github.com/immich-app/immich/pulls) via Github to add this model to Immich check if Immich already have this model in the list of models in [Huggingface](https://huggingface.co/immich-app) before you send pull request. +([Sources](https://discord.com/channels/979116623879368755/1071165397228855327/1187088114599071855)) + +### I don't speak English, is there a way I can use the Smart Serach in my language? + +Yes, you can get such an option, to do this you need to check what is the best model according to your language, you can do it by checking the [table](https://github.com/mlfoundations/open_clip/blob/main/docs/openclip_multilingual_retrieval_results.csv). + +:::note +If you found a suitable model for your language and you want to use it you may not be able to because Immich didn't add it to their list of models in [Huggingface](https://huggingface.co/immich-app), you can make it happen by send a [pull request](https://github.com/immich-app/immich/pulls) via Github to add this model to Immich. + +It is important to check the level of accuracy of the model and the amount of use of processing power Flops(B) in [this table](https://github.com/mlfoundations/open_clip/blob/main/docs/openclip_results.csv) so you can know it will work well with your system. +::: + +### Does Immich support Facial Recognition in video ? + +Although it seems that insightface is able to [recognize faces in video](https://github.com/deepinsight/insightface#arcface-video-demo) as of now the option is not yet implemented in Immich. +On the other hand, Immich uses a thumbnail image created from the video in order to scan it for a face, if there is a face in the thumbnail image of the video, Immich will try to recognize a face in thumbnail. \ No newline at end of file diff --git a/docs/docs/FAQ/Mobile-App-FAQ.md b/docs/docs/FAQ/Mobile-App-FAQ.md new file mode 100644 index 0000000000..595e883f41 --- /dev/null +++ b/docs/docs/FAQ/Mobile-App-FAQ.md @@ -0,0 +1,24 @@ +--- +sidebar_position: 55 +--- + +# Mobile App + +### What is the difference between the cloud icon on the mobile app? + +| Icon | Description | +| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | +| ![cloud](/img/cloud.svg) | Asset is only available in the cloud and was uploaded from some other device (like the web client) or was deleted from this device after upload | +| ![cloud-cross](/img/cloud-off.svg) | Asset is only available locally and has not yet been backed up | +| ![cloud-done](/img/cloud-done.svg) | Asset was uploaded from this device and is now backed up in the cloud/server and still available in original on the device | + + +### IOS app + +### No albums&photos seen by Immich on Iphone + +there are some reporting issue with iPhoneXR regarding the problem with scanning the album,we haven't yet to find the cause [see more info here](https://discord.com/channels/979116623879368755/1107718197655908412) + +:::note +If you think you know what the solution to the problem might be, we'd be happy to discuss it on [Discord](https://discord.com/channels/979116623879368755/1071165397228855327)/[Github](https://github.com/immich-app/immich/discussions) +::: diff --git a/docs/docs/FAQ/Performance-FAQ.md b/docs/docs/FAQ/Performance-FAQ.md new file mode 100644 index 0000000000..e9cc6f7a29 --- /dev/null +++ b/docs/docs/FAQ/Performance-FAQ.md @@ -0,0 +1,48 @@ +--- +sidebar_position: 7 +--- + +# Performance + +### Why is Immich slow on low-memory systems like the Raspberry Pi? + +Immich optionally uses machine learning for several features. However, it can be too heavy to run on a Raspberry Pi. You can [mitigate](/docs/FAQ/Performance-FAQ#how-can-i-lower-immichs-cpu-usage) this or [disable](/docs/FAQ/Machine-Learning-FAQ#how-can-i-disable-machine-learning) machine learning entirely. + +### How can I lower Immich's CPU and RAM usage? + +The initial backup is the most intensive due to the number of jobs running. The most CPU-intensive ones are transcoding and machine learning jobs (Tag Images, Smart Search, Recognize Faces), and to a lesser extent thumbnail generation. Here are some ways to lower their CPU usage: + +- Lower the job concurrency for these jobs to 1. +- Under Settings > Transcoding Settings > Threads, set the number of threads to a low number like 1 or 2. +- Under Settings > Machine Learning Settings > Facial Recognition > Model Name, you can change the facial recognition model to `buffalo_s` instead of `buffalo_l`. The former is a smaller and faster model, albeit not as good. + - You _must_ re-run the Recognize Faces job for all images after this for facial recognition on new images to work properly. +- If these changes are not enough, see [below](/docs/FAQ/Machine-Learning-FAQ#how-can-i-disable-machine-learning) for how you can disable machine learning. + +### How can I change the amount of CPU and RAM that Immich uses? +By default, a container has no resource constraints and can use as much of a given resource as the host's kernel scheduler allows. +You can look at the [original docker docs](https://docs.docker.com/config/containers/resource_constraints/) or use this [guide](https://www.baeldung.com/ops/docker-memory-limit) to learn how to do this. + +### Can I boost machine learning speed? +Yes, you can do it by increasing the amount of job concurrency, as the amount increases, the computer will work on several assets at the same time. +You can do it by +1. Admin user login +2. Administration +3. jobs +4. On the left side Manage Concurrency +5. Change the settings as needed + +:::danger +On a normal machine, 2 or 3 concurrent jobs can probably max the CPU, so if you're not hitting those maximums with, say, 30 jobs, +Also, it is important to know that the Storage should have INPUT & OUTPUT at high speed in order to handle all of this + +For reference I never went above 32/job while testing with an RTX 4090 GPU +Or for example if machine learning is enabled by a CPU such as I7 8700 a bit higher than default here would be like 16/job. + +Do not exaggerate with the amount of jobs because you're probably thoroughly overloading the database. + +more info [here](https://discord.com/channels/979116623879368755/994044917355663450/1174711719994605708) +::: + + +### When you run machine learning my processor is 100% usge is it noraml? +When a large amount of assets are uploaded to Immich it makes sense that the CPU and RAM will be heavily used due to machine learning work and creating image thumbnails after that, the percentage of CPU usage will drop to around 3-5% usage diff --git a/docs/docs/FAQ/Privacy-FAQ.md b/docs/docs/FAQ/Privacy-FAQ.md new file mode 100644 index 0000000000..89c1c65ee8 --- /dev/null +++ b/docs/docs/FAQ/Privacy-FAQ.md @@ -0,0 +1,12 @@ +--- +sidebar_position: 1 +--- + +# Privacy + +### Is all data local? +Everything stays local, the models get downloaded from a repository the first time you run it. +Machine learning is also done locally, +Machine learning URL isn't pointing to the external page. It is the DNS of the container within the docker's network context. +Model retrievals are done automatically from the [hugging face repository](https://huggingface.co/immich-app). more info [here](https://www.reddit.com/r/immich/comments/17obeyj/is_all_data_local/). + diff --git a/docs/docs/FAQ/User-FAQ.md b/docs/docs/FAQ/User-FAQ.md new file mode 100644 index 0000000000..e46cd28521 --- /dev/null +++ b/docs/docs/FAQ/User-FAQ.md @@ -0,0 +1,13 @@ +--- +sidebar_position: 2 +--- + +# User + +### How can I reset the admin password? + +The admin password can be reset by running the [reset-admin-password](/docs/administration/server-commands.md) command on the immich-server. + +### How can i see list of all users in Immich + +You can see the list of all users by running [List-Users](/docs/administration/server-commands.md) Command on the Immich-server. diff --git a/docs/docs/FAQ/_category_.json b/docs/docs/FAQ/_category_.json new file mode 100644 index 0000000000..6cabe3d0ce --- /dev/null +++ b/docs/docs/FAQ/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "FAQ", + "position": 8 +} diff --git a/docs/docs/developer/architecture.mdx b/docs/docs/developer/architecture.mdx index 46d565b8bb..e6fa232e24 100644 --- a/docs/docs/developer/architecture.mdx +++ b/docs/docs/developer/architecture.mdx @@ -107,4 +107,4 @@ See [Database Migrations](./database-migrations.md) for more information about h ### Redis -Immich uses [Redis](https://redis.com/) via [BullMQ](https://docs.bullmq.io/) to manage job queues. Some jobs trigger subsequent jobs. For example, object detection relies on thumbnail generation and automatically run after one is generated. +Immich uses [Redis](https://redis.com/) via [BullMQ](https://docs.bullmq.io/) to manage job queues. Some jobs trigger subsequent jobs. For example, Smart Search and Facial Recognition relies on thumbnail generation and automatically run after one is generated. diff --git a/docs/docs/guides/assets/20231219_183007_add-new-server-option.png b/docs/docs/guides/assets/20231219_183007_add-new-server-option.png new file mode 100644 index 0000000000000000000000000000000000000000..934c8c792fee721a1cecd3fd1770ba043c3ad123 GIT binary patch literal 39500 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 literal 0 HcmV?d00001 diff --git a/docs/docs/guides/database-GUI-view.md b/docs/docs/guides/database-GUI-view.md new file mode 100644 index 0000000000..8fe81622b2 --- /dev/null +++ b/docs/docs/guides/database-GUI-view.md @@ -0,0 +1,42 @@ +# Access database (GUI) + +:::note +in order to connect to the database the immich_postgres container **must be on**. +::: + +:::info +The password and name data comes from the `.env` file. If you have changed the values of the name and password, **they must be changed accordingly in the Connection screen** as explained below +::: + +- The software must be installed [pgAdmin](https://www.pgadmin.org/download) +- Open pgAdmin and select the add new server option + + +- enter a value for `name` (can be any name you want) +- in Connection we will enter the following details: + + +| Details | Final Result | +| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------: | +| Host name/address =`Local host`
Port = `5432`
Maintenance database = `immich`
Username = `postgres`
Password = `postgres`






| | + +* click on Save to connect to the Immich database + +now you have access to the Immich database. + +:::tip +follow [Database Queries](https://immich.app/docs/guides/database-queries/) guide for more information +::: + +# EXTRA + +--- + +if you want to be able to use pgAdmin in your brwoser you can follow this steps + +* In pgAdmin click on file --> runtime --> view log + + +* The link will appear there with a unique key (which changes every time you reconnect to pgAdmin) through which you can enter the GUI in the browser + + diff --git a/docs/docs/guides/img/Connection-Pgadmin.png b/docs/docs/guides/img/Connection-Pgadmin.png new file mode 100644 index 0000000000000000000000000000000000000000..a5bcb2f91d29d0ebfd3af64ecc57d6efecb1f260 GIT binary patch literal 36800 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 literal 0 HcmV?d00001 diff --git a/docs/docs/guides/img/add-new-server-option.png b/docs/docs/guides/img/add-new-server-option.png new file mode 100644 index 0000000000000000000000000000000000000000..934c8c792fee721a1cecd3fd1770ba043c3ad123 GIT binary patch literal 39500 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 literal 0 HcmV?d00001 diff --git a/docs/docs/guides/img/unique-key.png b/docs/docs/guides/img/unique-key.png new file mode 100644 index 0000000000000000000000000000000000000000..94cfc4dffdbc6d2131d0914cb9e0e372d9433ab5 GIT binary patch literal 18972 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 b!@VZys@C&Kpu%qZz)_M@2UW_L|Mh \ No newline at end of file diff --git a/docs/src/pages/index.tsx b/docs/src/pages/index.tsx index 1e4c3b760a..ab118da091 100644 --- a/docs/src/pages/index.tsx +++ b/docs/src/pages/index.tsx @@ -1,6 +1,7 @@ import React from 'react'; import Link from '@docusaurus/Link'; import Layout from '@theme/Layout'; +import TOCInline from '@theme/TOCInline'; function HomepageHeader() { return (