Global Image Manager is an ultra-fast, lightweight open-source image hosting powered by Bun and TanStack Start.
Born from a happy typo of img → gmi → gim, Gim is engineered for speed, minimal memory footprint, and effortless self-hosting.
- Bun Powered: Native TS execution with minimal memory usage and high-throughput image delivery.
- Nitro Engine: Serverless-ready HTTP architecture with optimized asset bundling.
- Container First: Multi-stage Debian-slim Docker setup with non-root execution (
USER bun).
services:
gim:
image: ghcr.io/vomlabs/gim:latest
container_name: gim
ports:
- "3000:3000"
environment:
- NODE_ENV=production
- PORT=3000
restart: unless-stoppedDeploy in one command:
docker compose up -d| Variable | Default | Description |
|---|---|---|
PORT |
3000 |
Port the HTTP server binds to inside the container |
NODE_ENV |
production |
Application runtime environment |
Note
Ensure you have Bun installed on your system.
# Clone the repository
git clone [https://github.com/vomlabs/gim.git](https://github.com/vomlabs/gim.git)
cd gim
# Install dependencies
bun install
# Start local dev server
bun dev# Compile Nitro build to .output
bun run build
# Start production server
bun run .output/server/index.mjsEnsure BuildKit is enabled:
docker build -t ghcr.io/vomlabs/gim:1.0 .