selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
imgpush logo

Self-host imgpush

Minimalist self-hosted image upload and resize API

BetaOpen SourceMIT
Updated5 months ago
LanguagePython
Setup difficultyEasy
Stars
356
Port
5000 (HTTP API)
Docker
hauxir/imgpush
Install with Docker
imgpush web interface showing upload form

What is imgpush?

imgpush is a lightweight self-hosted image hosting service for applications that accept user-uploaded images such as avatars. It provides a single API endpoint for uploads, automatically converts images to a chosen format, and resizes them on demand via URL parameters. The service includes per-IP rate limits, allowed-origin whitelisting, a liveness endpoint for health checks, and an authenticated delete API. Images are stored locally by default, with optional support for S3-compatible object storage using a local disk cache for fast serving. It runs as a Docker container on port 5000 and can be deployed to Kubernetes with the provided manifests. The project is open source under the MIT license with no paid tiers.

Should you self-host imgpush?

imgpush scores 47/100 on selfhost.directory (how scoring works) and ranks #4 of 9 in Image Management. It has 356 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is easy: most people get it running in one sitting. An official Docker image is available. It is MIT-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is Slink (59/100, 1 614 stars). It scores higher overall, so compare the two before you pick. See imgpush vs Slink side by side.

Features

  • Allowed origin whitelisting
  • Authenticated delete API
  • Automatic image format conversion
  • Image upload API
  • Liveness health check endpoint
  • Nudity filtering
  • On-demand image resizing
  • Rate Limiting
  • S3-compatible storage backend
  • Video upload support

imgpush README

How to install imgpush

Install imgpush with Docker

docker run -v :/images -p 5000:5000 hauxir/imgpush:latest

Requires a host directory for persistent image storage.

More in Image Management

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…