ImgCompress:自托管图像处理服务器,支持 70+ 格式与本地 AI 抠图
karimz1/imgcompress
ImgCompress 是一款完全运行在单个 Docker 容器内的自托管图像处理服务器,支持 70+ 种图像格式转换、批量压缩、逐文件裁剪和本地 AI 背景移除,无需云 API 或第三方上传。其内置 AI 模型在本地 CPU 上运行抠图,无需 API key 或订阅;前端支持 12 种语言,拉取镜像后即可完全离线运行,采用 GPL-3.0 开源许可。
Every image format. Zero cloud.
Convert 70+ formats, crop per file, compress in bulk, and remove backgrounds with local AI. UI in 12 languages.
Everything runs inside your container, so your files never leave your server.
Featured & Listed on
Website · Docs · Installation Guide · Docker Hub · Issues
What is ImgCompress?
ImgCompress is a self-hosted image processing server that runs entirely inside a single Docker container. It handles compression, format conversion, and AI-powered background removal, all locally on your own hardware. No cloud APIs, no third-party uploads, no tracking.
Built for people, homelab enthusiasts, and anyone who values privacy and owns their data.
Features
| Feature | Details |
|---|---|
| 70+ Image Formats | HEIC, HEIF, PSD, AVIF, EPS, PDF, WebP, TIFF, BMP, GIF, and 60+ more |
| Local AI Background Removal | Bundled model runs on your CPU. No API key, no subscription, no upload |
| Bulk Compression | Multi-core parallel processing across entire photo libraries |
| Format Conversion | HEIC to WebP, PSD to JPG, image batches to paginated PDF, and more |
| Per-File Cropping | Crop each upload before conversion with ratio presets (Free, 1:1, 16:9, 4:3) or custom pixel dimensions |
| Web UI + CLI | Browser dashboard for day-to-day use; CLI for scripting pipelines |
| Single Container | Every codec and library pre-bundled, zero host dependencies |
| Air-Gap Ready | Once pulled, runs fully offline. No internet required, ever |
AI Background Removal: Local & Private
Stop uploading personal or client photos to cloud-based removers. ImgCompress ships a bundled AI model that runs background removal on your own hardware. No API call, no subscription, no file ever leaves your server.
| Original | Background Removed |
|---|---|
![]() |
![]() |
Per-File Cropping (since v0.7.0)
Every upload gets its own crop overlay before conversion. Pick a ratio preset (Free, 1:1, 16:9, 4:3) or type exact pixel width and height. Selections are saved per file, so one batch can mix square thumbnails with 16:9 covers without re-uploading.
How to use it
- Drop your images into the upload area as usual.
- On any file row, click the crop icon to open the editor.
- Pick an aspect ratio preset (1:1, 4:3, 16:9, …) or set width and height manually.
- Zoom and crop to frame the shot exactly the way you want it.
- Click Save to keep the crop, Discard to back out, or Remove to clear a previously saved crop.
- Convert as normal. The crop is applied first, then your chosen format, quality, resize, and background-removal settings.
Note
Server-rendered formats: Some formats (e.g. PSD, EPS) are rendered server-side into a crop-friendly bitmap so you can still crop them in the browser.
Full walkthrough and demo video: Image Crop Editor docs.
Quick Start
Pull the image, open localhost:3001, start converting. About 60 seconds total.
docker run -d \ --name imgcompress \ -p 3001:5000 \ karimz1/imgcompress:latest
Prefer Docker Compose? Ready-made configurations live in docker/compose/:
- advanced.docker-compose.yaml for home or LAN use. Reachable from any device on your network out of the box, with container best practices applied (log rotation, healthcheck, no-new-privileges).
- proxied.docker-compose.yaml for hosting under a domain with HTTPS, behind a Traefik reverse proxy with TLS, security headers, and optional Let's Encrypt.
Step-by-step instructions for both are in the compose guide.
For environment variables and deploying without the mascot, see the full installation guide.
Why I Built ImgCompress
I was tired of the "software loop." Every time I needed something simple, I had to install another app:
- PSD files: Needed specialized software just to convert them to an image file.
- HEIC files: Needed another converter for regular photo files.
- Image to PDF: Needed another app just to share a screenshot for work, since a PDF is often better for emails and easy for others to print.
- AI Backgrounds: I realized I needed one more app for that too.
I thought to myself: "Why can't one tool just do it all?" Plus, uploading personal photos to random online converters never felt right to me.
One Toolbox for Everything
So I built a single toolbox that can take over 70 different formats and fix them all in one place. Whether you need to convert PSD or HEIC files to an image, turn a screenshot into a PDF for a work email, or shrink a massive 4K photo, this tool does it automatically.
The community has now pulled the image tens of thousands of times, which shows the pain is real.
Why Docker?
I chose Docker because it keeps your computer clean. Instead of you having to install 70 different messy libraries on your system, I packed everything into one Ready-to-go Box that you can run anywhere called imgcompress. It just works.
Privacy by Design
| No cloud processing | Conversions, compression, and AI inference all run locally. Images never leave your machine. |
| No telemetry | No analytics, no crash reporting, no feature flags phoning home. Completely silent on the network after startup. |
| Offline after pull | Once the image is pulled, no internet connection is ever needed again. No license checks, no expiry. |
| Open source | GPL-3.0. Audit the code, fork it, self-host it forever. |
Security-Hardened Docker Image
ImgCompress is built with a security-hardened, minimal image, aligned with common container security standards out of the box.
| Minimal Surface | No shell (bash, sh), no network tools (curl, wget, etc.), no package manager. The attack surface is drastically reduced. |
| Minimal Components | System dependencies are aggressively pruned to maintain a minimal runtime environment. |
| Non-root User | Runs as a non-root user nonroot by default. |
| DHI Base Images | Using Docker Hardened Images from the official DHI project for build phases and runtime Image. |
| SBOM and Provenance | The Docker Image is built with a full Software Bill of Materials (SBOM) and build provenance attestation. |
Multilingual Support
ImgCompress supports multiple frontend languages and welcomes community improvements to every locale. See the translation guide to add a new language, improve an existing translation, or get credited for meaningful language updates.
Supported languages:
- English
- Spanish
- Spanish (Mexico)
- Chinese (Simplified)
- Hindi
- Arabic
- French
- Portuguese (Brazil)
- Russian
- Japanese
- German
- Hungarian
Featured On
ImgCompress is recognized by the self-hosted community and is part of curated lists and platforms that self-hosters already rely on:
Know another platform that features ImgCompress, or want to add it to one? Get in touch. Big thanks to the open-source community for getting ImgCompress noticed in the first place.
Documentation
- Installation & Configuration: Docker setup, environment variables, reverse proxy examples
- Developer Guide: VS Code Dev Containers, architecture overview, local env setup
- imgcompress-chan (Bot): Custom helper bot that repairs Dependabot pnpm lockfiles and auto-merges dependency PRs
- E2E Testing with Playwright: How offline stability is verified across all 70+ formats
- Credits & Libraries: The open source projects that power ImgCompress
- Hall of Fame: Sponsors and contributors
Contributing
Contributions are welcome: bug reports, format requests, or pull requests.
Tip
New contributor? The project ships a VS Code Dev Container with all 70+ image libraries and the AI environment pre-configured. Working local setup in under a minute. See the Developer Guide.
- Read the Contributing Guide before opening a PR
- Browse
good-first-issuelabels for a starting point - Every change is verified by a Playwright E2E suite that covers all supported formats
Note
Meet imgcompress-chan, the repo's custom helper bot. She auto-merges Dependabot PRs once CI passes, and if a frontend dependency update leaves a broken pnpm-lock.yaml.
License & Author
Author: Karim Zouine
License: GPL-3.0
Docker Image: hub.docker.com/r/karimz1/imgcompress
If ImgCompress saves you time, a GitHub star helps others discover it.
来源:GitHub · github.com




