Self-host immich-upload-optimizer
v0.5.5Proxy that optimizes Immich uploads to save storage space
- Stars
- 305
- Port
- 2283 (HTTP proxy listener for Immich upload optimization)
- Requires
- Caesium CLI (caesiumclt), Exiftool, Ffmpeg, HandBrake CLI, Immich server, JPEG-XL (cjxl), Vips-tools
ghcr.io/miguelangel-nubla/immich-upload-optimizerWhat is immich-upload-optimizer?
Immich Upload Optimizer is a transparent proxy that sits in front of an Immich server and optimizes uploaded media files to save storage space. It intercepts uploads at the /api/assets endpoint and processes them through configurable external CLI tools — by default JPEG-XL (cjxl) for lossless image compression, Caesium for additional image optimization, and HandBrake for video transcoding. The proxy is configured via a YAML tasks file that defines which commands run for each file extension, allowing lossless or lossy workflows. It runs as a Docker container (ghcr.io/miguelangel-nubla/immich-upload-optimizer) and integrates into existing Immich Docker Compose setups by routing traffic through port 2283. The project is a rewrite of the original multipart-upload-proxy idea, designed for seamless integration without Cloudflare or complex reverse proxy rules. No user authentication is built in; it relies on Immich's own auth. Minimum requirements are not explicitly documented beyond needing a working Immich instance.
Should you self-host immich-upload-optimizer?
immich-upload-optimizer scores 47/100 on selfhost.directory (how scoring works) and ranks #27 of 41 in Photo Management. It has 305 GitHub stars.
It shipped 2 stable releases in the past year. The latest, v0.5.5, came out on 4 May 2026. New versions land roughly every 5 weeks.
Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in Go.
Its closest alternative on selfhost.directory is Ente (81/100, 29 712 stars). It scores higher overall, so compare the two before you pick. See immich-upload-optimizer vs Ente side by side.
Features
- Configurable task pipeline
- Extensible CLI tool support
- Lossless image optimization
- Lossy image optimizationRequires modifying task configuration
- Multiple optimization profiles
- Transparent proxy for Immich
- Video TranscodingDisabled by default; enabled via profile1 config
immich-upload-optimizer README
More in Image Processing
kriti-imagesSelf-hosted Go image transformation service with URL-based API for real-time processing, replacing commercial services like Cloudflare Images.
krokiOpen-source, self-hosted diagram API that turns text into images using 30+ engines such as PlantUML, Mermaid, GraphViz and D2, deployed with Docker or Kubernetes.
LLMII (ImageIndexer)Self-hosted desktop app using a local vision LLM to caption and keyword images, embedding results in standard metadata fields for any photo manager.
MazanokeSelf-hosted, open-source image optimizer that compresses, resizes and converts JPG, PNG, WebP, HEIC and more entirely on-device, with offline PWA use and EXIF stripping.
moocupMoocup is a self-hosted, open-source visual editor that lets you drop a screenshot, apply styles and background gradients, and export polished mockups in seconds.
next-image-transformationOpen-source, self-hosted image optimization service that replaces Vercel's Next.js image optimization, forwarding resize, crop and quality requests to Imgproxy.
openinaryOpen-source, self-hosted Cloudinary alternative for on-the-fly image/video transforms, S3 storage, and edge caching — run via Docker.
PictSharePictShare is a self-hosted, open-source media hosting service for images, GIFs, MP4s, audio, and text bins with a simple upload API and no database required.
pi-timoloSelf-hosted Raspberry Pi security monitoring using picamera and OpenCV. Creates timelapse videos, motion tracking, and low-light night vision images with rclone sync.
RembgOpen-source, self-hosted background remover: a Python library, CLI and HTTP server that cuts subjects out of images using switchable ONNX models.
ReubahSelf-hosted web tool for converting documents and processing images with support for multiple formats including JPG, PNG, WebP, PDF, DOCX, and more.
SnapOtterOpen-source, self-hosted file-processing suite with 200+ image, video, audio, PDF and document tools, local AI, a REST API and pipelines.
0 comments