Turn a folder of images into a working IIIF setup – in a minute or less!
- Overview
- Who is tiny.iiif for?
- Features
- Self-Hosting — on your own server
- Hosted Service — no server required
- Usage
- Development
- License
tiny.iiif is a lightweight IIIF server for small to medium-sized collections. It provides a simple way to publish images via the IIIF Image and Presentation APIs without deploying a full collection management system.
It fills the gap between large repository platforms and hand-editing IIIF manifest JSON files.
tiny.iiif is particularly useful for:
- Small collections (tens to a few thousand images)
- Online exhibitions
- Digital Humanities research projects
- DH classroom exercises
- Developers building IIIF-powered tools
- Institutions that need lightweight IIIF infrastructure without running a full repository stack
- Drag & drop images → instant IIIF Image Service powered by IIPImage or Cantaloupe.
- Create a folder, add images → instant IIIF Presentation v3 manifest
- Zero configuration → works out of the box with sensible defaults
- User-friendly admin interface → simple, modern, easy to use
- Production-ready → Docker-based deployment with NGINX as reverse proxy
- Minimum server hardware: 1 CPU and 2 GB RAM (2 CPUs / 4 GB for Cantaloupe)
- Sufficient disk space – tiny.iiif converts all uploaded images to pyramidal TIFF format for performance reasons
- Docker 24.0+ and Docker Compose 2.x
- A domain or subdomain pointing to your server
-
Clone this repository
-
Create an environment file - copy the included
.env.examplecp .env.example .env
-
Configure authentication - edit
.envto change your username and password for the admin GUI. (Default credentials aretiny/tiny.) -
Optional: Configure image server - per default, tiny.iiif uses IIPImage. You can choose to use Cantaloupe instead.
- Set
COMPOSE_PROFILE=cantaloupein.env - Uncomment the Cantaloupe variable section:
IIIF_PROXY_DESTINATIONandIIIF_IMAGE_PATH - Comment out the IIPImage section
- Set
-
Start tiny.iiif
docker compose up --build
-
Access services locally
- Admin GUI: http://localhost/tiny
- IIIF Image API: http://localhost/iiif
- Manifests: http://localhost/manifests
-
Configure HTTPS – to set up HTTPS using LetsEncrypt follow the HTTPS Setup Guide.
Important
You can only choose between IIPImage or Cantaloupe during initial setup. Once you have created manifests, switching is no longer supported because image-server-specific URLs are embedded in the manifests. To change servers later, you must delete and re-create all manifests.
For institutions and projects without in-house IT support or infrastructure to manage servers, managed hosting is available at:
https://[your-name].tiny-iiif.org
Hosted service includes:
- Deployment and server management
- Updates and maintenance
- Secure cloud hosting in a geographic region of your choice
- Technical support
- tiny-iiif.org sub-domain or optional custom domain
- Disk space starting from 50 GB
For pricing or to discuss project requirements, contact hello@rainersimon.io. Your subscription contributes directly to the continued maintenance and development of tiny.iiif as an open-source project.
Once tiny.iiif is running:
- Open the admin GUI at http://[your-domain]/tiny
- Log in with your credentials (default:
tiny/tiny) - Drag and drop images to publish them as IIIF image service
- Create folders and add images to publish IIIF Presentation manifests
This repository includes a separate Docker setup for frontend development. See the Developer Guide for details.
