Effortless Photo Collection with Immich Drop
Tired of asking friends and family to create accounts just to share photos from that recent trip or event? Immich Drop is a clever little open-source tool that solves exactly that problem. It provides a dead-simple, zero-login upload portal that feeds directly into your self-hosted Immich server.
If you're running Immich, you already know it's a fantastic Google Photos alternative. Immich Drop extends its utility by making it trivial to collect media from anyone, without them needing an account or any technical know-how. Just send them a link.
What It Does
Immich Drop is a tiny web app that acts as an anonymous upload gateway to your Immich server. You spin it up alongside your Immich instance, and it provides a clean, minimal interface where anyone can drag-and-drop photos and videos. These files are uploaded directly into your Immich library, preserving original dates and handling duplicates intelligently.
Why It's Cool
The beauty of Immich Drop is in its thoughtful, developer-friendly design:
- Truly Zero-Login: There are no accounts, no forms, no barriers. Open the page and start uploading.
- Smart Duplicate Prevention: It uses a local SHA-1 cache to avoid re-uploading the same file twice, and can optionally hook into Immich's bulk-upload-check API for an extra layer of deduplication.
- Live Progress Updates: A WebSocket connection provides real-time feedback on the upload queue, showing success, duplicates, or errors for each file.
- Album Integration: A killer new feature lets you configure an album name via
IMMICH_ALBUM_NAME. Every file uploaded through the portal is automatically added to this album, which is created on the fly if it doesn't exist. - Privacy-First: The UI only shows the current session's uploads. It never lists or exposes any existing media from your server.
- Polished UX: It features a clean, mobile-friendly interface with system-aware and user-togglable dark mode. It feels modern and solid.
It’s built on a simple but effective stack: a FastAPI backend that proxies to your Immich instance and a static frontend (HTML/JS with Tailwind CSS). All configuration is done through a single .env file, making deployment via Docker Compose incredibly straightforward.
How to Try It
Getting started is a classic Docker Compose workflow.
- Create a new directory and add a
docker-compose.ymlfile:
version: "3.9"
services:
immich-drop:
image: ghcr.io/nasogaa/immich-drop:latest
container_name: immich-drop
restart: unless-stopped
environment:
IMMICH_ALBUM_NAME: family-dropbox # Optional: auto-add to this album
env_file:
- ./.env
ports:
- "8080:8080"
volumes:
- immich_drop_data:/data
volumes:
immich_drop_data:
- In the same directory, create your
.envfile:
HOST=0.0.0.0
PORT=8080
IMMICH_BASE_URL=http://your-immich-server:2283/api
IMMICH_API_KEY=your_immich_api_key_here
MAX_CONCURRENT=3
IMMICH_ALBUM_NAME=family-dropbox # Optional
STATE_DB=/data/state.db
- Pull and run it:
docker compose pull
docker compose up -d
Point your browser to http://your-server:8080, and you're ready to start dropping files. It’s that simple.
Final Thoughts
Immich Drop is a perfect example of a utility that does one thing and does it exceptionally well. It fills a specific gap in the Immich ecosystem, turning your personal photo library into a collaborative space without compromising security or simplicity. It's incredibly useful for gathering photos from events, family gatherings, or any project where you need to centralize media from multiple people.
For developers, it's a well-architected project that's easy to deploy, understand, and potentially contribute to. If you're already invested in the Immich platform, this is an absolute no-brainer to add to your stack.
Check out the project on GitHub to get started or star it for later: Nasogaa/immich-drop
— Follow us on Twitter for more cool projects: @githubprojects