diff --git a/docs/docs/features/bulk-upload.md b/docs/docs/features/bulk-upload.md index 2cb320216d..fb7de14961 100644 --- a/docs/docs/features/bulk-upload.md +++ b/docs/docs/features/bulk-upload.md @@ -42,6 +42,7 @@ immich upload --key HFEJ38DNSDUEG --server http://192.168.1.216:2283/api --recur | --server / -s | Immich's server address | | --threads / -t | Number of threads to use (Default 5) | | --album/ -al | Create albums for assets based on the parent folder or a given name | +| --import/ -i | Import gallery | ### Obtain the API Key diff --git a/docs/docs/features/img/me.png b/docs/docs/features/img/me.png new file mode 100644 index 0000000000..8aa92ad385 Binary files /dev/null and b/docs/docs/features/img/me.png differ diff --git a/docs/docs/features/img/my-wife.png b/docs/docs/features/img/my-wife.png new file mode 100644 index 0000000000..45fda8d407 Binary files /dev/null and b/docs/docs/features/img/my-wife.png differ diff --git a/docs/docs/features/read-only-gallery.md b/docs/docs/features/read-only-gallery.md new file mode 100644 index 0000000000..33878f7efe --- /dev/null +++ b/docs/docs/features/read-only-gallery.md @@ -0,0 +1,105 @@ +# Read-only Gallery [Experimental] + +## Overview + +This feature enables users to use an existing gallery without uploading the assets to Immich. + +Upon syncing the file information, it will be read by Immich to generate supported files. + +:::caution + +This feature is still in an experimental stage. + +This is a very primitive implementation of the read-only mechanism, enhancement of this feature will continue to be developed in the future. + +The current limitations of this feature are: + +- Manually sync using the CLI tool, auto-sync (watch) is not supported. +- Only new files that are added to the gallery will be detected. +- Deletion and moving of files will not be detected. + +::: + +## Usage + +:::tip Example scenario + +On the VM/system that Immich is running, I have 2 galleries that I want to use with Immich. + +- My gallery is stored at `/mnt/media/precious-memory` +- My wife's gallery is stored at `/mnt/media/childhood-memory` + +We will use those values in the steps below. + +::: + +### Mount the gallery to the containers. + +`immich-server` and `immich-microservices` containers will need access to the gallery. Mount the directory path as in the example below + +```diff title="docker-compose.yml" + immich-server: + container_name: immich_server + image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} + command: [ "start.sh", "immich" ] + volumes: + - ${UPLOAD_LOCATION}:/usr/src/app/upload ++ - /mnt/media/precious-memory:/mnt/media/precious-memory ++ - /mnt/media/childhood-memory:/mnt/media/childhood-memory + env_file: + - .env + depends_on: + - redis + - database + - typesense + restart: always + + immich-microservices: + container_name: immich_microservices + image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} + command: [ "start.sh", "microservices" ] + volumes: + - ${UPLOAD_LOCATION}:/usr/src/app/upload ++ - /mnt/media/precious-memory:/mnt/media/precious-memory ++ - /mnt/media/childhood-memory:/mnt/media/childhood-memory + env_file: + - .env + depends_on: + - redis + - database + - typesense + restart: always +``` + +:::tip +Internal and external path have to be identical. +::: + +_Remember to bring the container down/up to register the changes. Make sure you can see the mounted path in the container._ + +### Register the path for the user. + +This action is done by the admin of the instance. + +- Navigate to `Administration > Users` page on the web. +- Click on the user edit button. +- Add the gallery path to the `External Path` field for the corresponding user and confirm the changes. + + + + + +### Sync with the CLI tool. + +- Install or update the [CLI Tool](/docs/features/bulk-upload.md). The import feature is supported from version `v0.39.0` of the CLI +- Run the command below to sync the gallery with Immich. + +```bash title="Import my gallery" +immich upload --key --server http://my-server-ip:2283/api /mnt/media/precious-memory --recursive --import +``` + +```bash title="Import my wife gallery" +immich upload --key --server http://my-server-ip:2283/api /mnt/media/childhood-memory --recursive --import +``` + +The `--import` flag will tell Immich to import the files by path instead of uploading them.