Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.openinary.dev/llms.txt

Use this file to discover all available pages before exploring further.

Prerequisites

Run

docker pull openinary/openinary:latest
Starts the API and web dashboard together.
docker run --platform linux/amd64 -d -p 3000:3000 \
  -v openinary-cache:/app/apps/api/cache \
  -v openinary-public:/app/apps/api/public \
  -v openinary-db:/app/data \
  openinary/openinary:latest

Initial setup (full stack)

  1. Open http://localhost:3000 — you’ll be redirected to /setup.
  2. Create your admin account.
  3. Click your profile in the bottom-left of the dashboard → API Keys → create your first key.
Your Openinary instance is ready.

Sample files

The container ships with two files for testing, available at /app/apps/api/public/:
  • example-loan.jpg — for image transformation tests
  • example-rahime-gul.mp4 — for video transformation tests
Try a transformation immediately:
GET http://localhost:3000/t/w_400,h_400,c_fill/example-loan.jpg

Without Docker

Prefer running from source? See Local Development.
Volume persistence — in production, always mount all three volumes to durable storage. Losing a volume means losing that data.
VolumePath in containerContains
openinary-db/app/dataDatabase (accounts, API keys)
openinary-public/app/apps/api/publicUploaded files
openinary-cache/app/apps/api/cacheCached transformations
For better durability, use S3-compatible storage instead of local volumes.

Next steps

Image Transformations

Resize, crop, convert format, and optimize images via URL.

Video Transformations

Resize, trim, and extract thumbnails from videos.

Storage

Connect AWS S3, Cloudflare R2, or any S3-compatible provider.

Security

API key management, rate limiting, and best practices.