Share your Immich photos and albums in a safe way without exposing your Immich instance to the public.
👉 See a Live demo gallery serving straight out of my own Immich instance.
Setup takes less than a minute, and you never need to touch it again as all of your sharing stays managed within Immich.
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. It is stateless, needs no API key, and knows nothing about your Immich instance beyond what you have shared.
Read more in the Introduction, including
why not just expose Immich's /share/ path.
- Download the docker-compose.yml file.
- Set
IMMICH_URLto the local (not public) URL of your Immich server, andPUBLIC_BASE_URLto the public URL of IPP. - Run
docker-compose up -dand check thathttps://your-proxy-url.com/share/healthcheckresponds. - In Immich's Server Settings, set the "External domain" to your IPP URL. Every link Immich generates from now on points at the proxy.
If you use Cloudflare, set your /share/video/* path to Bypass Cache or videos may not play.
Full instructions, including Kubernetes: Installation.
Everything is at docs.ipp.nz:
- Installation and Sharing from Immich
- Configuration: downloads, gallery layout, lightbox, metadata privacy, error responses
- Guides: single domain with Immich, redirect your root domain to a share, securing Immich with mTLS
- Troubleshooting
You can add feature requests here, however my goal with this project is to keep it as lean as possible.
IPP has read-only access to Immich and stores nothing: anything that needs an API key, modifies Immich, or would require storing a share key won't be considered. See CONTRIBUTING.md for the full list.
