Skip to content

Turn a folder of images into a working IIIF setup – in a minute or less!

License

Notifications You must be signed in to change notification settings

rsimon/tiny-iiif

Repository files navigation

tiny.iiif

Turn a folder of images into a working IIIF setup – in a minute or less!

Screenshot of the tiny.iiif admin GUI

Contents

Overview

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.

Who is tiny.iiif for?

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

Features

  • 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

Self-Hosting

Requirements

  • 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

Installation

  1. Clone this repository

  2. Create an environment file - copy the included .env.example

    cp .env.example .env
  3. Configure authentication - edit .env to change your username and password for the admin GUI. (Default credentials are tiny / tiny.)

  4. Optional: Configure image server - per default, tiny.iiif uses IIPImage. You can choose to use Cantaloupe instead.

    • Set COMPOSE_PROFILE=cantaloupe in .env
    • Uncomment the Cantaloupe variable section: IIIF_PROXY_DESTINATION and IIIF_IMAGE_PATH
    • Comment out the IIPImage section
  5. Start tiny.iiif

    docker compose up --build
  6. Access services locally

  7. 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.

Hosted Service at tiny-iiif.org

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.

Usage

Once tiny.iiif is running:

  1. Open the admin GUI at http://[your-domain]/tiny
  2. Log in with your credentials (default: tiny / tiny)
  3. Drag and drop images to publish them as IIIF image service
  4. Create folders and add images to publish IIIF Presentation manifests

Development

This repository includes a separate Docker setup for frontend development. See the Developer Guide for details.

License

MIT

About

Turn a folder of images into a working IIIF setup – in a minute or less!

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages