Text comparison tool for different published versions of a work with an administration backend
10K+
Variance is the editorial admin and processing stack used to prepare legacy
Variance publication assets. It lets editors upload textual versions, attach
pagination metadata from _lignes, manage facsimiles, run Medite comparisons,
publish comparison outputs to the legacy tree, and export legacy-ready bundles.
Main components:
Useful documentation:
descr/architecture.mddescr/workflow.mddescr/facsimiles.mddescr/queues_jobs.mddescr/api_endpoints.mddescr/deployment_notes.mddescr/laravel_current_code_map.mdgit clone https://github.com/unil-lettres/variance-input.git
cd variance-input
docker compose up -d --build
Main entry points:
http://localhost:8080/adminhttp://localhost:8080/http://localhost:5000/First run:
docker compose exec laravel php artisan migrate
docker compose exec laravel php artisan db:seed # optional
laravel/example.env to laravel/.env and adjust local settings as needed.ADMIN_BASE_PATH controls the mounted admin prefix (admin by default).MEDITE_STATUS_URL controls the Medite task link shown in the admin UI.DB_BACKUP_TIME and DB_BACKUP_RETENTION_DAYS control the scheduled DB dump..txt version from the Versions card._lignes file to build the pagination sidecar.prod or dev.Key storage locations:
storage/app/public/uploads/versions/{folder}.txtstorage/app/public/uploads/versions/{folder}.xml_lignes: storage/app/private/lignes/{version_id}.txtstorage/app/private/pagination/{version_id}.jsonstorage/app/public/uploads/{author}/{work}/comparisons/{comparison_id}storage/app/public/uploads/{author}/{work}/{comparison_folder}storage/app/public/uploads/{author}/{work}/{version}variance/uploads/...# Start / stop
docker compose up -d
docker compose down
# Laravel shell
docker compose exec laravel bash
# Migrations
docker compose exec laravel php artisan migrate
# Queue worker (manual)
docker compose exec laravel php artisan queue:work --queue=facsimiles,page-markers,exports --stop-when-empty
# Scheduler tick (manual)
docker compose exec laravel php artisan schedule:run
# DB backup (manual)
docker compose exec laravel php artisan backup:database
# Logs
docker compose logs -f laravel laravel-queue laravel-scheduler medite
page-markers: pagination sidecars, pagination injection, worker probefacsimiles: facsimile processingexports: legacy export zip generationlaravel-queue runs laravel/scripts/run-queue-workers.sh, which starts
multiple concurrent workers and writes a heartbeat to
storage/app/private/queue_workers.json.
laravel-scheduler runs php artisan schedule:run every minute. It currently
drives:
health:scheduler-heartbeatbackup:database├── docker-compose.yml
├── descr/
├── laravel/
├── medite/
├── nginx/
├── variance/
└── variance_data/ # local runtime data, not for the public repo
laravel/routes/web.php and
laravel/routes/api.php.Content type
Image
Digest
sha256:6db2420d4…
Size
436.7 MB
Last updated
4 days ago
docker pull unillett/variance-input:laravel-stage-6947e36-20260717122554Pulls:
106
Jul 6 to Jul 12