MerMEId is a system for the editing, handling, and (pre-)viewing of music metadata, based on the the Music Encoding Initiative (MEI) XML schema. As of March 2019 MerMEId supports MEI 4.0.0.
MerMEId was originally developed at the Danish Centre for Music Editing (DCM) both for the production of thematic catalogues of works and for organizing source- and work-related information during the preparation of scholarly editions of music. It is now maintained as a community effort.
MerMEId is used for the creation and maintenance of
- Catalogue of Carl Nielsen's Works, CNW,
- Johann Adolph Scheibe. A Catalogue of His Works, and
- J.P.E. Hartmann. A Thematic-Bibliographic Catalogue of His Works
The services mentioned are delivered using DCM Catalog UI.
Try MerMEId at the demo website.
The most convenient way to set up MerMEId is by pulling the ready made Docker images from DockerHub.
Starting a MerMEId instance is simple:
$ docker run --name my-mermeid -p 8080:8080 -d edirom/mermeid:develop
… where my-mermeid
is the name you want to assign to your container and 8080
is the local port where the MerMEId server will listen.
Example stack.yml
for MerMEId
:
version: '3'
services:
mermeid:
image: edirom/mermeid:develop
ports:
- 8080:8080
environment:
- MERMEID_exist_endpoint=http://localhost:8080
Run docker stack deploy -c stack.yml mermeid
(or docker-compose -f stack.yml up
),
wait for it to initialize completely, and visit http://localhost:8080
.
The default credentials to log in to the MerMEId are username "mermeid" and password "mermeid".
When you start the MerMEId
image, you can adjust the configuration of the MerMEId
instance by passing one or more environment variables on the docker run command line.
In general, all settings from properties.xml
can be overridden by providing the respective environment variable prefixed with 'MERMEID_'. Commonly used variables include:
this variable must reflect the deployment URL.
E.g., if you deploy MerMEId
to https://my.mermeid.org
the MERMEID_exist_endpoint
variable must be set to https://my.mermeid.org
as well.
provide an admin password. CAUTION: This will override any previously set password!
provide an admin password via a secrets file.
The environment variable MERMEID_admin_password_file
must provide the path to that file within the container.
CAUTION: This will override any previously set password!
provide a password for the mermeid user (defaults to "mermeid"). CAUTION: This will override any previously set password!
provide a password for the mermeid user via a secrets file (defaults to "mermeid").
The environment variable MERMEID_mermeid_password_file
must provide the path to that file within the container.
CAUTION: This will override any previously set password!
For running the MerMEId service in production you probably want to persist the data volume. Otherwise restarting the container might result in data loss!
The database files are stored within /exist/data
in the container so you simply mount a host directory there:
$ docker run --name my-mermeid -p 8080:8080 -d --mount type=bind,source="$(pwd)/exist-data",target=/exist/data edirom/mermeid:develop
Orbeon logs everything to stdout, so you can access them with docker logs my-mermeid
. Existdb writes most information into logfiles though, so in case you want to access them you should mount a host directory to /exist/logs
like this:
$ docker run --name my-mermeid -p 8080:8080 -d --mount type=bind,source="$(pwd)/exist-logs",target=/exist/logs edirom/mermeid:develop
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.