
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Riprap微服务(未发布版本)的Docker镜像。
基于https://github.com/Islandora-DevOps/isle-buildkit/tree/main/riprap%E6%9E%84%E5%BB%BA%E3%80%82
有关更深入的信息,请参考https://github.com/mjordan/riprap#riprap%E3%80%82
构建需要islandora/nginx Docker镜像。有关其他设置、卷、端口等附加信息,请参考Nginx镜像README。
此外,可使用不同的数据库后端运行。默认使用内置的SQLite后端,无需额外配置。若要使用MySQL或PostgreSQL后端,请分别参考MariaDB镜像README和PostgreSQL镜像README,并将RIPRAP_DB_DRIVER更改为所选后端,以及其他相关设置。
| 端口 | 描述 |
|---|---|
| 8000 | HTTP协议 |
| 路径 | 描述 |
|---|---|
| /var/www/riprap/src/Migrations | 生成的迁移文件 |
| /var/www/riprap/var | SQLite数据库/缓存文件位置 |
| 环境变量 | 默认值 | 描述 |
|---|---|---|
| RIPRAP_APP_ENV | dev | 目前仅支持'dev' |
| RIPRAP_APP_SECRET | f58c87e1d737c4422b45ba4310abede6 | 应用唯一的字符串,通常用于增加安全相关操作的熵值 |
| RIPRAP_CROND_ENABLE_SERVICE | true | 启用/禁用crond服务 |
| RIPRAP_CROND_LOG_LEVEL | 8 | crond的日志级别 |
| RIPRAP_CROND_SCHEDULE | 0 0 1 * * | 运行check_fixity命令的计划,默认每月一次 |
| RIPRAP_LOG_LEVEL | info | 日志级别。可能的值:debug、info、notice、warning、error、critical、alert、emergency、none |
| RIPRAP_MAILER_URL | null://localhost | |
| RIPRAP_TRUSTED_HOSTS | ||
| RIPRAP_TRUSTED_PROXIES |
可使用以下命令生成自定义密钥:
bashcat /dev/urandom | base64 | head -c 32 && echo ""
以下是check fixity命令的特定配置。并非所有配置在所有情况下都适用,很大程度上取决于启用的插件。
有关更多深入信息,请参考https://github.com/mjordan/riprap#plugins%E3%80%81https://github.com/mjordan/riprap/blob/master/docs/plugins.md%E4%BB%A5%E5%8F%8Ahttps://github.com/mjordan/riprap/tree/master/src/Plugin%E6%9C%AC%E8%BA%AB%E3%80%82
如果是初次使用,建议使用PluginFetchResourceListFromDrupalView,而非目前正在弃用的PluginFetchResourceListFromDrupal。
| 环境变量 | 默认值 | 描述 |
|---|---|---|
| RIPRAP_CONFIG_DIGEST_COMMAND | /usr/bin/sha1sum | |
| RIPRAP_CONFIG_DRUPAL_BASEURL | [***] | |
| RIPRAP_CONFIG_DRUPAL_CONTENT_TYPES | ['islandora_object'] | |
| RIPRAP_CONFIG_DRUPAL_FILE_FIELDNAMES | ['field_media_audio', 'field_media_document', 'field_edited_text', 'field_media_file', 'field_media_image', 'field_media_video_file'] | |
| RIPRAP_CONFIG_DRUPAL_MEDIA_AUTH | ['admin', 'islandora'] | |
| RIPRAP_CONFIG_DRUPAL_MEDIA_TAGS | [] | 例如:['/taxonomy/term/15'] |
| RIPRAP_CONFIG_DRUPAL_PASSWORD | password | |
| RIPRAP_CONFIG_DRUPAL_USER | admin | |
| RIPRAP_CONFIG_EMAIL_FROM | ||
| RIPRAP_CONFIG_EMAIL_TO | ||
| RIPRAP_CONFIG_FAILURES_LOG_PATH | var/riprap_failed_events.log | 相对于Riprap应用目录的绝对或相对路径 |
| RIPRAP_CONFIG_FEDORAAPI_DIGEST_HEADER_LEADER_PATTERN | "^.+=" | var/riprap_failed_events.log |
| RIPRAP_CONFIG_FEDORAAPI_METHOD | HEAD | |
| RIPRAP_CONFIG_FIXITY_ALGORITHM | sha1 | 可选值:'md5'、'sha1'或'sha256' |
| RIPRAP_CONFIG_GEMINI_AUTH_HEADER | "Bearer islandora" | |
| RIPRAP_CONFIG_GEMINI_ENDPOINT | [***] | |
| RIPRAP_CONFIG_JSONAPI_AUTHORIZATION_HEADERS | 例如:['Authorization: Basic YWRtaW46aXNsYW5kb3Jh'] | |
| RIPRAP_CONFIG_JSONAPI_PAGER_DATA_FILE_PATH | var/fetchresourcelist.from.drupal.pager.txt | 相对于Riprap应用目录的绝对或相对路径 |
| RIPRAP_CONFIG_JSONAPI_PAGE_SIZE | 50 | |
| RIPRAP_CONFIG_MAX_RESOURCES | 1000 | 必须是RIPRAP_CONFIG_JSONAPI_PAGE_SIZE的倍数 |
| RIPRAP_CONFIG_OUTPUT_CSV_PATH | var/riprap_events.csv | |
| RIPRAP_CONFIG_PLUGINS_FETCHDIGEST | PluginFetchDigestFromShell | 可选值:"PluginFetchDigestFromDrupal"、"PluginFetchDigestFromFedoraAPI"或"PluginFetchDigestFromShell" |
| RIPRAP_CONFIG_PLUGINS_FETCHRESOURCELIST | ['PluginFetchResourceListFromFile'] | 可选值:"PluginFetchResourceListFromDrupal"、"PluginFetchResourceListFromDrupalView"、"PluginFetchResourceListFromFile"或"PluginFetchResourceListFromGlob" |
| RIPRAP_CONFIG_PLUGINS_PERSIST | PluginPersistToDatabase | 可选值:"PluginPersistToCsv"或"PluginPersistToDatabase" |
| RIPRAP_CONFIG_PLUGINS_POSTCHECK | ['PluginPostCheckCopyFailures'] | 可选值:"PluginPostCheckCopyFailures"、"PluginPostCheckMailFailures"、"PluginPostCheckMigrateFedora3AuditLog"、"PluginPostCheckSayHello"或未指定 |
| RIPRAP_CONFIG_RESOURCE_DIR_PATHS | 例如:['resources/filesystemexample/resourcefiles'] | |
| RIPRAP_CONFIG_RESOURCE_LIST_PATH | ['resources/csv_file_list.csv'] | |
| RIPRAP_CONFIG_THIN | false | |
| RIPRAP_CONFIG_USE_FEDORA_URLS | true | |
| RIPRAP_CONFIG_VIEWS_PAGER_DATA_FILE_PATH | var/fetchresourcelist.from.drupal.pager.txt |
注意:配置列表是通过在riprap仓库中搜索所有
$this->settings['some_setting']实例生成的。升级riprap提交时,请确保配置选项及其默认值已相应更新。
https://github.com/mjordan/riprap%E5%8F%AF%E9%80%89%E6%8B%A9%E4%BD%BF%E7%94%A8%E4%B8%8D%E5%90%8C%E7%9A%84%E6%95%B0%E6%8D%AE%E5%BA%93%E5%90%8E%E7%AB%AF%E3%80%82%E6%9C%89%E5%85%B3%E9%BB%98%E8%AE%A4%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BF%9E%E6%8E%A5%E9%85%8D%E7%BD%AE%E7%9A%84%E6%9B%B4%E5%A4%9A%E4%BF%A1%E6%81%AF%EF%BC%8C%E8%AF%B7%E5%8F%82%E8%A7%81%E5%9F%BA%E7%A1%80%E9%95%9C%E5%83%8F%E4%B8%AD%E7%9A%84%E6%96%87%E6%A1%A3%E3%80%82
除RIPRAP_DB_DRIVER外,以下设置仅在RIPRAP_DB_DRIVER设置为mysql或postgresql时使用。
| 环境变量 | 默认值 | 描述 |
|---|---|---|
| RIPRAP_DB_DRIVER | sqlite | 数据库驱动,可选'sqlite'、'mysql'或'postgresql' |
| RIPRAP_DB_NAME | riprap | 数据库名称 |
| RIPRAP_DB_PASSWORD | password | 数据库用户密码 |
| RIPRAP_DB_USER | riprap | 数据库用户 |
可通过修改Dockerfile中的构建参数COMMIT和SHA256(如下所示的XXXXXXXXXXXX部分)来更改用于riprap的提交:
DockerfileARG COMMIT=XXXXXXXXXXXX #... ARG SHA256=XXXXXXXXXXXX
可使用以下命令生成SHA256:
bashCOMMIT=$(cat riprap/Dockerfile | grep -o 'COMMIT=.*' | cut -f2 -d=) FILE=$(cat riprap/Dockerfile | grep -o 'FILE=.*' | cut -f2 -d=) URL=$(cat riprap/Dockerfile | grep -o 'URL=.*' | cut -f2 -d=) FILE=$(eval "echo $FILE") URL=$(eval "echo $URL") wget --quiet "${URL}" shasum -a 256 "${FILE}" | cut -f1 -d' ' rm "${FILE}"
当更改riprap版本或基于的nginx镜像中的PHP版本时,还需要更新compose.lock文件:
bash# 构建所需的基础镜像 make bake TARGET=nginx # 构建安装前的层 docker buildx build --target download \ --tag islandora/riprap:download \ --build-context nginx=docker-image://islandora/nginx:local ./riprap # 更新锁定文件 docker run --rm -ti \ -v $(pwd)/riprap/rootfs/var/www/riprap/composer.lock:/var/www/riprap/composer.lock \ --entrypoint ash docker.xuanyuan.run/islandora/riprap:download -c \ "cd /var/www/riprap && composer update" # 使用更新后的composer.lock文件构建镜像 make bake target=riprap
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务