- Mirador Multi User
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 |
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
https://www.mirador-multi-user.com/.
- Multi-user environment
- User management
- Media management
- Collection management
git clone git@github.com:TETRAS-IIIF/mirador-multi-user.gitcd mirador-multi-usercp .env.dev.sample .envnvm usecd backendnpm installcd ../frontendnpm installcd ..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) :
- frontend to http://localhost:4000
- backend to http://localhost:3000
- backend API documentation to http://localhost:3000/api
- Database to
http://localhost:3306For DBeaver or other DB client - Caddy to http://localhost:9000
-
git clone git@github.com:TETRAS-IIIF/mirador-multi-user.git -
cd mirador-multi-user -
cp .env.prod.sample .env. -
Set the required environment variables in the
.envfile. See ENVIRONMENT.md for a complete list of environment variables and their descriptions. -
docker-compose up --build
In an other terminal, run following commands to generate the database
docker-compose exec backend npm run typeorm:generate-migration --name=db-initdocker-compose exec backend npm run typeorm migration:run -- -d ./src/config/dataSource.ts
See wiki page there : https://github.com/TETRAS-IIIF/mirador-multi-user/wiki/Admin-manual#post-deployment-checks
Mirador Multi User provides logging for both the backend and Caddy server.
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 backendFor production environments, logs can also be redirected to a file or managed by external logging solutions (e.g., journald, ELK stack).
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.logYou can customize Caddy logging further by editing the Caddyfile in the root project.
Mirador Multi User utilise :
- Playwright pour les tests end-to-end (E2E)
- Vitest pour les tests unitaires et d'intégration
| 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) |
| 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) |
- Tetras Libre SARL (https://tetras-libre.fr), french company specialized in free software and open source.
- mirador-multi-user@tetras-libre.fr