Repolode
alangrainger

alangrainger/immich-public-proxy

A stateless proxy that lets you share Immich photos and albums publicly without exposing your Immich server.

Stars
2,419
Forks
94
Open issues
13
Last commit
8 days ago

What is it?

Immich Public Proxy (IPP) sits between the public internet and your Immich server. It forwards only the requests for links you have already shared inside Immich, so the rest of the instance stays locked down. It needs no API key and no privileged access to Immich, and it stores no data of its own.

Setup involves running a Docker container (Kubernetes is also documented), pointing it at your local Immich URL and a public URL, and setting Immich's external domain to the proxy. After that, links generated by Immich point to the proxy, and sharing is still managed from within Immich.

Visitors can optionally upload their own photos and videos to a share, for example guests adding pictures to a wedding album. The gallery viewer is PhotoSwipe, which provides zoom, swipe and keyboard navigation.

Key features

  • 01Exposes only explicitly shared Immich photos and albums to the public.
  • 02Requires no Immich API key or privileged access.
  • 03Stateless, with no database or stored share keys.
  • 04Deploys with Docker Compose or Kubernetes.
  • 05Optional visitor uploads let guests add photos and videos to a share.

Use cases

  • Sending a family or friends a link to a photo album without opening your Immich server to the internet.
  • Collecting photos from wedding or event guests into a shared album.
  • Publishing a public photo gallery from a self-hosted Immich library.

Quick start

  1. 1

    Download the docker-compose.yml file

  2. 2

    Set IMMICH_URL to your local Immich URL and PUBLIC_BASE_URL to the public IPP URL

  3. 3

    Start the proxy with Docker Compose

    docker-compose up -d
  4. 4

    In Immich Server Settings, set the External domain to your IPP URL

Things to know

  • Requires a self-hosted Immich server and a separate proxy deployment to run.
  • If you use Cloudflare, video paths must be set to Bypass Cache or videos may not play.

In collections

Topics

FAQ

What is immich-public-proxy?
A stateless proxy that lets you share Immich photos and albums publicly without exposing your Immich server. Immich Public Proxy (IPP) sits between the public internet and your Immich server. It forwards only the requests for links you have already shared inside Immich, so the rest of the instance stays locked down. It needs no API key and no privileged access to Immich, and it stores no data of its own.
Is immich-public-proxy free to use? What license does it have?
immich-public-proxy is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
Is immich-public-proxy still maintained?
Actively maintained. The last commit to immich-public-proxy was on Oct 29, 2026.
What can I use immich-public-proxy for?
Sending a family or friends a link to a photo album without opening your Immich server to the internet. Collecting photos from wedding or event guests into a shared album. Publishing a public photo gallery from a self-hosted Immich library.
How do I install immich-public-proxy?
Download the docker-compose.yml file Set IMMICH_URL to your local Immich URL and PUBLIC_BASE_URL to the public IPP URL Start the proxy with Docker Compose: docker-compose up -d In Immich Server Settings, set the External domain to your IPP URL
Where can I get immich-public-proxy?
The source code and installation instructions are on GitHub: https://github.com/alangrainger/immich-public-proxy

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects