Sign inSign up

k0lin/resizr

By k0lin

•Updated 10 months ago

RESIZR is a high-performance, Go microservice for image upload, processing, and delivery.

Image
API management
Developer tools
Databases & storage
1

821

k0lin/resizr repository overview

⁠RESIZR - High-Performance Image Processing Service

Docker Pulls Go Version License

RESIZR is a production-ready Go microservice for image upload, processing, and delivery. Built with modern cloud-native patterns, it provides RESTful APIs for image management with automatic multi-resolution processing, Redis-based metadata storage, and S3-compatible file storage.

⁠Key Features

  • Multi-Resolution Processing: Automatic thumbnail and custom resolution generation
  • High-Performance: Streaming uploads/downloads, connection pooling, optimized processing
  • Production Ready: Rate limiting, health checks, structured logging, error handling
  • Cloud Native: Containerization with Docker and Kubernetes support
  • Flexible Storage: AWS S3, MinIO, and S3-compatible backends
  • Smart Caching: Multi-level caching with Redis and pre-signed URLs

⁠Quick Start

⁠Docker Run
$ docker run -d \
  --name resizr \
  -p 8080:8080 \
  -e CACHE_TYPE=badger \
  -e S3_ENDPOINT=https://s3.amazonaws.com \
  -e S3_ACCESS_KEY=your_access_key \
  -e S3_SECRET_KEY=your_secret_key \
  -e S3_BUCKET=your_bucket \
  -v ./data:/data \
  k0lin/resizr:dev
⁠Docker Compose
services:
  resizr:
   image: k0lin/resizr:dev
   restart: unless-stopped
   ports:
     - "8080:8080"
   environment:
    - CACHE_TYPE=badger
    - CACHE_DIRECTORY=/data/badger
    - S3_ENDPOINT=https://s3.amazonaws.com
    - S3_ACCESS_KEY=your_access_key
    - S3_SECRET_KEY=your_secret_key
    - S3_BUCKET=your_bucket
    - RESIZE_MODE=smart_fit
    - RATE_LIMIT_UPLOAD=100
    - RATE_LIMIT_DOWNLOAD=100
    - RATE_LIMIT_INFO=50
   volumes:
    - ./badger-data:/data/badger

⁠Documentation

⁠Configuration

Environment VariableDefaultDescription
PORT8080HTTP server port
CACHE_TYPEredisCache backend (redis/badger)
S3_ENDPOINT-S3 endpoint URL
S3_ACCESS_KEY-S3 access key
S3_SECRET_KEY-S3 secret key
S3_BUCKET-S3 bucket name
MAX_FILE_SIZE10485760Max upload size (bytes)
IMAGE_QUALITY85JPEG quality (1-100)
RESIZE_MODEsmart_fitImage resize algorithm (smart_fit/crop/stretch)

⁠Supported Tags

  • latest - Latest stable release (NOT YET PUBLISHED)
  • dev - Latest dev release

⁠License

This project is licensed under the Apache-2.0 license.

Tag summary

Content type

Image

Digest

sha256:9a2bf995a…

Size

25.8 MB

Last updated

10 months ago

docker pull k0lin/resizr:dev