From ca7236022ba845d1c140e574fd96757bc91546ef Mon Sep 17 00:00:00 2001 From: Alan Grainger Date: Fri, 1 Nov 2024 14:45:25 +0100 Subject: [PATCH] Update docs --- README.md | 16 +++++++++++----- {public/images => docs}/external-link.png | Bin {public/images => docs}/immich.png | Bin {public/images => docs}/server-settings.png | Bin docs/share-link.webp | Bin 0 -> 33866 bytes 5 files changed, 11 insertions(+), 5 deletions(-) rename {public/images => docs}/external-link.png (100%) rename {public/images => docs}/immich.png (100%) rename {public/images => docs}/server-settings.png (100%) create mode 100644 docs/share-link.webp diff --git a/README.md b/README.md index 9c9a2db..c3f1240 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,12 @@ Share your Immich photos and albums in a safe way without exposing your Immich instance to the public.

- +

### Table of Contents -- [Demo ](https://immich-demo.note.sx/share/ffSw63qnIYMtpmg0RNvOui0Dpio7BbxsObjvH8YZaobIjIAzl5n7zTX5d6EDHdOYEvo) +- [Demo ](https://immich-demo.note.sx/share/ffSw63qnIYMtpmg0RNvOui0Dpio7BbxsObjvH8YZaobIjIAzl5n7zTX5d6EDHdOYEvo) - [About this project](#about-this-project) - [Install with Docker](#how-to-install-with-docker) - [How to use it](#how-to-use-it) @@ -18,13 +18,17 @@ Share your Immich photos and albums in a safe way without exposing your Immich i ## About this project -Immich is a wonderful bit of software, but since it holds all your private photos it's best to keep it fully locked down. +[Immich](https://github.com/immich-app/immich) is a wonderful bit of software, but since it holds all your private photos it's best to keep it fully locked down. This presents a problem when you want to share a photo or a gallery with someone. **Immich Public Proxy** provides a barrier of security between the public and Immich, and _only_ allows through requests which you have publicly shared. When it receives a valid request, it talks to Immich locally via API and returns only those shared images. +It does not require an API key which reduces the attack surface even further. The only things that the proxy +can access are photos that you have made publicly available in Immich. It is stateless and does not know anything +about your Immich instance. + ### Features - Supports sharing photos and videos. @@ -66,7 +70,7 @@ docker-compose up -d 4. Set the "External domain" in your Immich **Server Settings** to be the same as the `PROXY_PUBLIC_URL`: - + Now whenever you share an image or gallery through Immich, it will automatically create the correct public path for you. @@ -76,7 +80,9 @@ correct public path for you. Other than the initial configuration above, everything else is managed through Immich. You share your photos/videos as normal through Immich. Because you have set the **External domain** in Immich settings -to be the URL for your proxy app, the links that Immich generates will automaticaly have the correct URL. +to be the URL for your proxy app, the links that Immich generates will automaticaly have the correct URL: + + ## How it works diff --git a/public/images/external-link.png b/docs/external-link.png similarity index 100% rename from public/images/external-link.png rename to docs/external-link.png diff --git a/public/images/immich.png b/docs/immich.png similarity index 100% rename from public/images/immich.png rename to docs/immich.png diff --git a/public/images/server-settings.png b/docs/server-settings.png similarity index 100% rename from public/images/server-settings.png rename to docs/server-settings.png diff --git a/docs/share-link.webp b/docs/share-link.webp new file mode 100644 index 0000000000000000000000000000000000000000..36783789b0f31c6832b9faf091ca89ede31749e9 GIT binary patch literal 33866 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 E0E!y!*8l(j literal 0 HcmV?d00001