Replace Cloudinary / AWS S3 Egress with Self-Hosted MinIO + imgproxy
High-performance S3-compatible object storage paired with on-the-fly WebP/AVIF image resizing in Go Stop paying Plus ($89–$224/mo bandwidth & image transforms) ($89/mo for a 10-person team) and run MinIO + imgproxy on a $4.50/mo Linux VPS with full data sovereignty.
1-to-100 Seat Total Cost of Ownership (TCO) Table
Comparing Cloudinary / AWS S3 Egress (Plus ($89–$224/mo bandwidth & image transforms)) vs MinIO + imgproxy on Hetzner CX22 (4GB RAM / 2 vCPU).
| Team Size | Cloudinary / AWS S3 Egress Cost | MinIO + imgproxy VPS | Net Annual Savings |
|---|---|---|---|
| 1 Seat (Solo) | $89.00/mo ($1,068/yr) | $4.50/mo (CX22) | +$1,014 / year |
| 5 Seats | $89.00/mo ($1,068/yr) | $4.50/mo (CX22) | +$1,014 / year |
| 10 Seats | $89.00/mo ($1,068/yr) | $4.50/mo (CX22) | +$1,014 / year |
| 25 Seats | $89.00/mo ($1,068/yr) | $4.50/mo (CX22) | +$1,014 / year |
| 50 Seats | $89.00/mo ($1,068/yr) | $4.50/mo (CX22) | +$1,014 / year |
| 100 Seats | $89.00/mo ($1,068/yr) | $4.50/mo (CX22) | +$1,014 / year |
Production Docker Compose + Caddy Auto-SSL
Copy and run docker compose up -d on any Ubuntu 24.04 server.
# Production Docker Compose: MinIO + imgproxy (Replaces Cloudinary / AWS S3 Egress)
services:
caddy:
image: caddy:2-alpine
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy_data:/data
networks:
- stack_net
minio-imgproxy:
image: minio/minio:latest
container_name: stack-minio-imgproxy
restart: unless-stopped
environment:
- "MINIO_ROOT_USER=admin"
- "MINIO_ROOT_PASSWORD=${MINIO_PASSWORD:-strongpassword123}"
volumes:
- minio_imgproxy_data:/data
networks:
- stack_net
networks:
stack_net:
driver: bridge
volumes:
caddy_data:
minio_imgproxy_data:
# Automatic Let's Encrypt HTTPS for MinIO + imgproxy
minio-imgproxy.{$DOMAIN:yourdomain.com} {
encode zstd gzip
reverse_proxy minio-imgproxy:9000
}
Why Teams Switch to MinIO + imgproxy
- ✓Drop-in AWS S3 replacement with $0 egress on Hetzner/Vultr
- ✓imgproxy converts to WebP/AVIF on the fly
- ✓Built-in web console & bucket policies
minio/minio:latest
Deploy MinIO + imgproxy in 60 Seconds
Sized automatically for MinIO + imgproxy (512MB container RAM + OS overhead).
Get All 16 Pre-Built Production Stacks + Encrypted S3 Backups
Includes pre-tuned docker-compose.yml, Caddy Auto-SSL, AES-256 encrypted nightly S3/R2 Postgres backups, and Ubuntu 24.04 UFW/Fail2ban hardening scripts.