Skip to main content

Prerequisites

  • Docker (version 20.x or higher)

Quick Start

Installation

docker pull openinary/openinary:latest
Run the dashboard and API
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

Normal mode (Dashboard + API):
  1. Open http://localhost:3000
  2. You’ll be redirected to /setup to create your admin account
  3. Once logged in, in the bottom left of the dashboard, click on your profile and select “API Keys” from the menu to generate your first API key.
Your Openinary instance is operational.

Test with Sample Files

Sample files are available in the container at /app/apps/api/public/ for testing:
  • example-loan.jpg - Test image transformations
  • example-rahime-gul.mp4 - Test video transformations

Connecting External S3-Compatible Storage

By default, Openinary uses local file storage. For production or to use cloud storage, you can configure environment variables to connect to any S3-compatible storage provider (AWS S3, Cloudflare R2, DigitalOcean Spaces, Minio, and more). See the Storage configuration page for detailed setup instructions.

Development Mode (Alternative)

If you prefer to run in development mode without Docker:
# Clone the repo
git clone https://github.com/openinary/openinary.git && cd openinary

# Install dependencies
pnpm install

# Start development servers
pnpm dev
Development URLs will be the same (API: http://localhost:3000, Frontend: http://localhost:3001)
Volume Persistence: When deploying to production, ensure all three Docker volumes are properly persisted across deployments:
  • db-data - Contains database file (admin account, API keys)
  • public-files - Contains uploaded files and media
  • cache-data - Contains cached transformations
If any of these volumes are removed or recreated during deployment, the corresponding data will be lost. For production environments, consider using cloud storage (S3-compatible) for better reliability and scalability.