- 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
You will eventually get errors related to the database (table settings not existing for example) but it will be fixed in the next step
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/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
You will eventually get errors related to the database (table settings not existing for example) but it will be fixed in the next step
In another terminal, run following commands to generate the database
./cli.sh migration create init./cli.sh migration run
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