Skip to Content
Self Hosting

Self-Hosting

oJo provides an open-source, self-hosted version that gives you complete control over your HTML-to-image generation infrastructure. Perfect for developers, agencies, and organizations who need dynamic image generation with full data sovereignty for personal and internal business use.

Overview

The self-hosted version provides the same powerful HTML-to-image conversion capabilities as the hosted oJo service, but runs entirely on your own infrastructure. You get:

  • 🎨 Complete HTML/CSS/JS support with custom fonts and libraries
  • πŸ“± Template system with dynamic variables
  • 🐳 Docker-ready deployment with compose files
  • πŸ’Ύ S3-compatible storage integration
  • πŸ”’ Full data control and privacy
  • πŸš€ REST API compatible with hosted oJo

Prerequisites

Before installing oJo Self-Host, ensure you have:

  • Docker and Docker Compose installed
  • S3-compatible storage (AWS S3, Cloudflare R2, MinIO, etc.)
  • PostgreSQL database (included in Docker setup)

For development:

  • Node.js 18+ and pnpm package manager

Quick Start

1. Clone Repository

git clone https://github.com/ojodotso/self-host.git cd self-host

2. Configure Environment

Copy the Docker Compose file:

cp docker-compose.yml docker-compose.local.yml

Edit docker-compose.local.yml with your configuration:

environment: # API Authentication ADMIN_TOKEN: your-secret-admin-token # S3 Storage Configuration BLOB_STORAGE_CLIENT_ENDPOINT: https://your-s3-endpoint.com BLOB_STORAGE_ACCESS_KEY: your-access-key BLOB_STORAGE_SECRET_KEY: your-secret-key BLOB_STORAGE_BUCKET_NAME: your-bucket-name

3. Start Services

docker-compose -f docker-compose.local.yml up -d

4. Verify Installation

curl http://localhost:3011/health

Your oJo instance will be available at http://localhost:3011 πŸŽ‰

For further configuration, refer to the self-host documentationΒ .

License

oJo Self-Host is licensed under the Sustainable Use License:

  • βœ… Free for personal use
  • βœ… Free for internal business use
  • βœ… Free non-commercial distribution
  • ❌ No commercial redistribution or SaaS offerings

For commercial use cases, consider ojo.soΒ .