Share your immich albums with your friends and family without exposing the whole API to the public. All this with the comfort of the immich web UI.
- 📥 Download photos individually or whole albums
- 🚫 Upload disabled for enhanced security
- 🎞️ View slideshow of albums
- 🔒 Supports password-protected albums
- 🌐 Translated in many languages. See i18n/.
- 🌓 Light and dark theme
- Download the docker compose file
wget https://raw.githubusercontent.com/tomleb/proxy-for-immich/refs/heads/main/compose.yaml
- Edit the environment variables in the
compose.yaml
file.
IMMICH_SERVER_URL
: The immich instance that you want the proxy to be in front of. This has to be reachable by Proxy for immich.IMMICH_HOST
: This overrides the Host header when proxying.
- Configure the external domain on your immich instance to point to the proxy.
To do this, go to
Administration
>Settings
>Server Settings
. You can then set the external domain.
- Run the proxy.
docker compose up -d
You should now be able to access shared albums from the external domain set previously.
The project maintains a read-only OpenAPI specification of the immich API. The proxy then derives authorized paths from this spec. Authorized paths are forwarded to the Immich instance, while unauthorized requests are blocked.
A stripped down version of immich's web UI is maintained in this repo. This makes it work with the read-only API (eg: removes upload buttons, etc).
There also exists some alternatives with different approaches:
- https://github.com/11notes/docker-immich-share-proxy
- https://github.com/alangrainger/immich-public-proxy
Same as immich. See LICENSE.