画像をアップロードするだけで IIIF マニフェストを自動生成・公開できるWebサービスです。
- 画像のアップロード: JPEG・PNG・TIFFなどの画像ファイルを複数枚まとめてアップロード
- IIIF自動変換: アップロードされた画像を自動的に IIIF 対応形式 (Pyramid TIFF) に変換
- マニフェスト生成: IIIF Presentation API v3 準拠のマニフェストURLを自動発行
- ビューアで閲覧: 登録した画像をブラウザ上の IIIF ビューア (Mirador) で確認
- 公開・非公開設定: リソースごとに公開範囲を設定可能
- ストレージ管理: 使用容量の確認と増量申請
Google アカウントでログインします。
「マイIIIF画像」→「新規作成」から:
- タイトル・説明などのメタデータを入力
- 画像ファイルを選択(複数可)
- アップロード後、自動的に変換処理が始まります(数分かかる場合があります)
変換完了後、リソース詳細ページに IIIF マニフェスト URL が表示されます。このURLを他の IIIF 対応ツールやビューアで使用できます。
https://your-domain/iiif/manifests/{id}/manifest.json
「公開リソース」ページでは、公開設定されたすべてのリソースを閲覧できます。
- Docker & Docker Compose
- Google Cloud の OAuth 2.0 クライアント ID・シークレット
1. リポジトリをクローン
git clone https://github.com/yuta1984/iiif-depot.git
cd iiif-depot2. 環境変数ファイルを作成
cp .env.example .env.prod.env.prod を編集して以下の値を設定します:
| 変数名 | 説明 |
|---|---|
BASE_URL |
サービスのURL(例: https://your-domain.com) |
GOOGLE_CLIENT_ID |
Google Cloud Console で取得した OAuth クライアントID |
GOOGLE_CLIENT_SECRET |
Google Cloud Console で取得した OAuth クライアントシークレット |
GOOGLE_REDIRECT_URI |
{BASE_URL}/auth/google/callback |
SESSION_SECRET |
ランダムな文字列(セッション暗号化に使用) |
ADMIN_EMAILS |
管理者権限を付与するメールアドレス(カンマ区切り) |
CANTALOUPE_PUBLIC_URL |
Cantaloupe の公開URL(画像配信用) |
Google OAuth の設定
- 「APIとサービス」→「認証情報」→「OAuth 2.0 クライアント ID」を作成
- 承認済みリダイレクト URI に
{BASE_URL}/auth/google/callbackを追加
3. 起動
docker compose up -d4. 動作確認
ブラウザで http://localhost:3000 を開きます(または設定した BASE_URL)。
- Backend: Node.js + TypeScript + Hono
- Database: SQLite
- Job Queue: BullMQ + Redis
- IIIF Image Server: Cantaloupe
- IIIF Viewer: Mirador
- Image Processing: ImageMagick (Pyramid TIFF 変換)
MIT