Skip to content

TETRAS-IIIF/mirador-multi-user

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,083 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mirador multi user

Table of Contents

Mirador Multi user is a project that aims to create a multi-user environment for the Mirador 4 viewer. Forked from original work of https://github.com/ARVEST-APP/mirador-multi-user

Main additions at (2025-06-05) :

Features Use cases
All files type management Manage your media collection with any files. Before, it was only supporting image and video file.
Advanced project snapshot management Create, edit and share snapshots of your Mirador projects
Configure tags and templates by project Configure text templates and available tags in your IIIF annotations
Advanced admin page Manage seamlessly MMU instance from admin page

Demo

https://app.mirador-multi-user.com/. Contributions, issues report and feedback are welcomed.

If you want custom demo (like specific Mirador plugins or config) please contact us at mirador-multi-user@tetras-libre.fr

Presentation website

https://www.mirador-multi-user.com/.

Features

  • Multi-user environment
  • User management
  • Media management
  • Collection management

Installation

Installation DEV (Docker)

  • git clone git@github.com:TETRAS-IIIF/mirador-multi-user.git
  • cd mirador-multi-user
  • cp .env.dev.sample .env
  • nvm use
  • cd backend
  • npm install
  • cd ../frontend
  • npm install
  • cd ..
  • docker-compose up --build

In another terminal, run following commands to generate the database

  • ./cli.sh migration create init
  • ./cli.sh migration run

Now you can access (all ports can be customized in the .env file) :

Installation PROD (Docker)

  1. git clone git@github.com:TETRAS-IIIF/mirador-multi-user.git

  2. cd mirador-multi-user

  3. cp .env.prod.sample .env.

  4. Set the required environment variables in the .env file. See ENVIRONMENT.md for a complete list of environment variables and their descriptions.

  5. docker-compose up --build

In an other terminal, run following commands to generate the database

  1. docker-compose exec backend npm run typeorm:generate-migration --name=db-init
  2. docker-compose exec backend npm run typeorm migration:run -- -d ./src/config/dataSource.ts

Check if you're installation is ready to use :

See wiki page there : https://github.com/TETRAS-IIIF/mirador-multi-user/wiki/Admin-manual#post-deployment-checks

Logs

Mirador Multi User provides logging for both the backend and Caddy server.

Backend Logs

Backend logs are printed to the container output and can be configured via environment variables:

Key Description Values
LOG_LEVEL Log verbosity (0=ERROR, 1=WARN, 2=DEBUG, 3=LOG, 4=VERBOSE) 0 to 4

To view logs:

docker-compose logs -f backend

For production environments, logs can also be redirected to a file or managed by external logging solutions (e.g., journald, ELK stack).

Caddy Logs

Caddy logs are stored in the directory specified by the LOG_FOLDER environment variable:

Key Description Values
LOG_FOLDER Path to Caddy access/error logs ./logs

To access logs:

tail -f ./logs/access.log
tail -f ./logs/error.log

You can customize Caddy logging further by editing the Caddyfile in the root project.

Testing

Mirador Multi User utilise :

  • Playwright pour les tests end-to-end (E2E)
  • Vitest pour les tests unitaires et d'intégration

Commandes disponibles

Tests Unitaires (Vitest)

Commande Description
npm test Exécute les tests unitaires avec Vitest (mode watch)
npm run test:ci Exécute les tests unitaires avec couverture de code (mode CI)
npm run test:watch Exécute les tests unitaires en mode watch (rafraîchissement automatique)

Tests End-to-End (Playwright)

Commande Description
npm run test:e2e Exécute les tests E2E en mode light (Firefox uniquement)
npm run test:e2e:full Exécute les tests E2E en mode full (Chromium, Firefox, WebKit)
npm run test:e2e:ci Exécute les tests E2E optimisés pour la CI (mode light par défaut)
npm run test:e2e:ui Lance l'interface graphique Playwright pour exécuter/déboguer les tests
npm run test:report Ouvre le rapport HTML des tests E2E dans le navigateur
npm run test:e2e:debug Exécute les tests E2E en mode debug (avec interface graphique)
npm run test:e2e:trace Exécute les tests E2E avec traçage activé (pour analyse approfondie)

Maintainers

About

Multi-user workspace environment for the Mirador 4 viewer and plugins. Annotate, share, create around IIIF ressource

Topics

Resources

License

Stars

Watchers

Forks

Contributors