scieloorg/opacSciELO OPAC (On-line Public Access Catalog) 是一个用于管理和提供学术资源访问的在线目录系统。本Docker镜像提供了便捷的部署方案,支持开发、测试和生产环境,通过容器化方式简化安装配置流程,确保系统在不同环境中的一致性和可移植性。
项目wiki提供了不同环境的详细安装配置指南:
完整的配置指南及环境变量调整方法可参考项目wiki。以下是常用配置示例:
显示旧版网站链接:
bashPREVIOUS_WEBSITE_URI=[***]
显示首页提示信息(支持多语言):
bashALERT_MSG_PT=Novo portal pode conter incorreções # 葡萄牙语 ALERT_MSG_EN=New portal may contain inaccuracies # 英语 ALERT_MSG_ES=Nuevo portal puede contener incorrecciones # 西班牙语
| 文件 | 描述 |
|---|---|
| Dockerfile | 生产环境镜像构建定义 |
| Dockerfile-dev | 开发环境镜像构建定义 |
| docker-compose.yml | 生产环境容器编排配置 |
| docker-compose-build.yml | Travis/CI环境构建和容器编排配置 |
| docker-compose-dev.yml | 开发环境容器编排配置 |
| 变量名 | 默认值 | 可能值 | 最后更新 | 说明 |
|---|---|---|---|---|
| OPAC_USE_HOME_METRICS | False | True/False | 2021-11-21 | 启用/禁用首页集合 metrics 数据展示(默认:禁用) |
| OPAC_DEBUG_MODE | False | True/False | 2021-11-21 | 启用/禁用调试模式,生产环境需禁用(默认:禁用) |
| OPAC_SECRET_KEY | secr3t-k3y | '***werw45345' 等 | 2021-11-21 | 应用表单安全密钥 |
| OPAC_COLLECTION | scl | scl, spa, mex, cub 等有效缩写 | 2021-11-21 | OPAC 集合的缩写标识 |
| OPAC_DEFAULT_EMAIL | *** | *** 等 | 2021-11-21 | 系统发送邮件的默认账户 |
| OPAC_MONGODB_HOST | localhost | localhost, 127.0.0.1 等 | 2021-11-21 | MongoDB 数据库主机 |
| OPAC_MONGODB_PORT | 27017 | 27017, 27018 等 | 2021-11-21 | MongoDB 数据库端口 |
| GA_TRACKING_CODE | G-MKLVK7B5B4 | G-MKLVK7B4B6 等 | 2021-11-21 | Google Analytics 跟踪代码(获取方法:[***] |
| OPAC_USE_METRICS | False | True/False | 2021-11-21 | 启用/禁用与 SciELO Analytics 集成,启用需设为'True' |
| OPAC_USE_DIMENSIONS | False | True/False | 2021-11-21 | 启用/禁用与 Dimensions 集成,启用需设为'True' |
| OPAC_CACHE_ENABLED | True | True/False | 2021-11-21 | 启用/禁用 Redis 缓存 |
| OPAC_WTF_CSRF_ENABLED | True | True/False | 2021-11-21 | 启用/禁用 CSRF 保护 |
| READCUBE_ENABLED | False | True/False | 2021-11-21 | 启用/禁用 ReadCube 链接显示,启用需设为'True' |
完整环境变量列表请参考项目文档,以上为常用关键变量示例。
通过以下步骤使用Docker快速搭建开发环境(基于Dockerfile-dev和docker-compose-dev.yml):
构建镜像:
bashmake dev_compose_build
启动容器:
bashmake dev_compose_up
访问应用:
docker-machine ip获取IP后访问查看日志:
bashmake dev_compose_logs
停止容器:
bashmake dev_compose_stop
进入容器终端:
bashmake dev_compose_exec_shell_webapp
执行单元测试:
bashmake test
生成测试覆盖率报告:
bashmake test_coverage
通过以下步骤使用SciELO提供的fixtures填充开发环境数据:
确保开发环境已启动:make dev_compose_up
下载fixtures文件(轻量版或完整版):
bash# 轻量版(4种期刊) wget [***] # 完整版 wget [***]
解压文件:
bashunzip opac_br.zip cd opac_br
恢复MongoDB数据:
bashmongorestore --host=localhost --port=27017 -d=opac --dir .
复制媒体文件和SQLite数据库到项目data目录:
bashcp -r media /path/to/repo/data/ cp opac.sqlite /path/to/repo/data/
配置docker-compose-dev.yml参数:
yamlenvironment: - OPAC_SSM_DOMAIN=minio.scielo.br - OPAC_SSM_PORT=443 - OPAC_SSM_SCHEME=https - OPAC_SSM_XML_URL_REWRITE=False
重启容器:
bashmake dev_compose_stop && make dev_compose_up
注:需安装MongoDB数据库工具(含mongorestore),且访问部分内容需连接SciELO 。管理员账户默认凭据: / admin。
如遇问题或需功能增强,请通过GitHub Issues提交反馈。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务