MEIGarage 是一个 Web 服务和 RESTful 服务,专注于 MEI(音乐编码格式),提供多种格式的转换、转换和验证功能。该服务基于成熟的 https://github.com/TEIC/oxgarage 代码库构建,可视为音乐编码数据的“工作坊”。
运行中的 MEIGarage 实例可访问:meigarage.edirom.de。关于代码结构和演示材料,可参考 https://github.com/Edirom/MEIGarage/blob/main/doc/code-structure.md 和 https://anneferger.github.io/MEITEIGarage/%E3%80%82
Open API 文档
API 规范可通过以下途径获取:
https://github.com/Edirom/MEIGarage/blob/main/src/main/webapp/openapi.jsonhttps://meigarage.edirom.de/ege-webservice/API 调用示例
使用 curl 将 MEI 3.0 文档转换为 MEI 4.0 文档:
bashcurl -o 4.0.0.mei -F upload=@input-3.0.0.mei https://meigarage.edirom.de/ege-webservice/Conversions/mei30%3Atext%3Axml/mei40%3Atext%3Axml/
前提条件
已安装 Docker 环境。
拉取镜像
可从 GitHub Docker Registry 或 DockerHub 获取镜像:
bash# 从 GitHub Docker Registry 拉取 docker pull ghcr.io/edirom/meigarage:latest # 或从 DockerHub 拉取 docker pull edirom/meigarage:latest
开发版本镜像:
bashdocker pull edirom/meigarage:dev
运行容器
基础运行命令(默认配置):
bashdocker run --rm \ -p 8080:8080 \ --name meigarage \ edirom/meigarage:latest
服务启动后,通过浏览器访问 http://localhost:8080/ege-webservice 进入 Web 服务界面。
高级配置
环境变量
WEBSERVICE_URL:指定服务访问 URL,用于生成正确的 API 链接-e WEBSERVICE_URL=http://localhost:8080/ege-webservice/卷挂载(自定义样式表和源文件)
可挂载本地目录覆盖默认的样式表和源文件,映射关系如下表:
| 容器内路径 | 用途 | 对应源码仓库 |
|---|---|---|
/usr/share/xml/tei/stylesheet | TEI 样式表 | https://github.com/TEIC/Stylesheets/releases/latest |
/usr/share/xml/tei/odd | TEI 源文件(含 p5subset.xml) | https://github.com/TEIC/TEI/releases/latest |
/usr/share/xml/mei/music-stylesheets/encoding-tools | MEI 编码工具样式表 | https://github.com/music-encoding/encoding-tools/releases/latest |
/usr/share/xml/mei/music-stylesheets/w3c-musicxml | MusicXML 样式表 | https://github.com/w3c/musicxml/releases/latest |
/usr/share/xml/mei/music-stylesheets/meiler | MEILER 样式表 | https://github.com/rettinghaus/MEILER/releases/latest |
/usr/share/xml/mei/music-encoding | MEI 各版本源文件 | https://github.com/music-encoding/music-encoding |
/usr/share/xml/mei/music-stylesheets/data-configuration | 数据配置文件 | https://github.com/Edirom/data-configuration |
挂载示例:
bashdocker run --rm \ -p 8080:8080 \ -e WEBSERVICE_URL=http://localhost:8080/ege-webservice/ \ -v /本地路径/tei/stylesheet:/usr/share/xml/tei/stylesheet \ -v /本地路径/tei/odd:/usr/share/xml/tei/odd \ -v /本地路径/mei/encoding-tools:/usr/share/xml/mei/music-stylesheets/encoding-tools \ -v /本地路径/mei/musicxml:/usr/share/xml/mei/music-stylesheets/w3c-musicxml \ -v /本地路径/mei/meiler:/usr/share/xml/mei/music-stylesheets/meiler \ -v /本地路径/mei/music-encoding:/usr/share/xml/mei/music-encoding \ -v /本地路径/mei/data-configuration:/usr/share/xml/mei/music-stylesheets/data-configuration \ --name meigarage edirom/meigarage:latest
暴露端口
8080:HTTP 服务端口(默认使用)8081:HTTPS 服务端口(用于 SSL 终止负载均衡器后端)webapps 目录oxgarage.properties 到 /etc/oxgarage.properties/var/cache/oxgarage 目录并复制 log4j.xml,设置权限(如 chown -R tomcat:tomcat /var/cache/oxgarage)/usr/share/xml/tei 目录下部署 TEI 和 MEI 的样式表及源文件(遵循 Debian 文件层级标准)http://localhost:8080/ege-webclient/ 测试转换功能如需自定义镜像版本,可通过 docker build 传入构建参数指定依赖版本:
bashdocker build \ --build-arg VERSION_STYLESHEET=7.52.0 \ # TEI 样式表版本 --build-arg VERSION_ODD=4.3.0 \ # TEI 源文件版本 --build-arg VERSION_ENCODING_TOOLS=3.0.0 \ # MEI 编码工具版本 --build-arg VERSION_W3C_MUSICXML=4.0 \ # MusicXML 版本 --build-arg VERSION_MEILER=2.0.0 \ # MEILER 版本 .
MEIGarage 开发得到 NFDI4Culture(物质与非物质文化遗产研究数据联盟)支持。该联盟致力于为文化遗产研究数据建立需求导向的基础设施,涵盖建筑、艺术、音乐、戏剧等多个领域。更多信息:nfdi4culture.de。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务