轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥7起我的订单
文档
工具
提交工单页面收录
ojs

pkpofficial/ojs

pkpofficial

Open Journal Systems (OJS)的Docker镜像,用于期刊管理和发布,由Public Knowledge Project开发。基于Debian构建,镜像标签与OJS官方版本对应,提供持久化卷、环境变量配置及内置管理脚本,支持Linux系统,暂不支持ARM架构。

23 次收藏下载次数: 0状态:社区镜像维护者:pkpofficial仓库类型:镜像最近更新:2 个月前
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

中文简介
下载命令
镜像标签列表与下载命令
轩辕镜像,快一点,稳很多。
点击查看

OJS (Open Journal Systems) - PKP - 容器/Docker

Open Journal Systems (OJS)是一款期刊管理与发布系统,由Public Knowledge Project通过联邦资助开发,旨在扩大和改善研究成果的获取途径。

本仓库中的镜像最初基于Alpine Linux构建,但从3.5版本开始迁移到Debian镜像。可能包含其他额外变更。

仓库中的镜像有多个变体(参见版本)。本项目由https://github.com/marcbria%E7%BB%B4%E6%8A%A4%E3%80%82

镜像在Linux系统中构建和测试,理论上可在Windows上运行。目前暂未提供ARM架构镜像,因此无法在最新的Mac电脑上使用。

=========================================================================================================================
== 警告
=========================================================================================================================
== 
== 我们正处于重构过程中,因此本描述可能已过时,部分信息可能不准确。
== 最新文档请始终参考 [pkp/containers](https://github.com/pkp/containers) 仓库:
== 
== - https://github.com/pkp/containers/blob/main/README.md
== - https://github.com/pkp/containers/blob/main/docs/easyOJS.md
=========================================================================================================================

关于标签命名

基本原则是“Docker镜像的名称与OJS官方仓库中的标签名称相同”,但带有应用前缀。即,如果需要拉取OJS 3.3.0-17版本(官方标签为3_3_0-17),只需拉取pkpofficial/ojs-3_3_0-17镜像。

同时维护latest、lts和stable标签的别名,更新规则如下:

标签别名指向...描述
latest3_4_0-4最新发布版本
lts3_3_0-17最新LTS版本
stable-3_2_13_2_1-4指定分支的最新稳定版本

重要: 我们仅对刚发布的镜像以及标记为latest和LTS的版本进行安全检查。

镜像命名规则仍在讨论中(如LAMP环境需发布安全补丁时如何处理、是否提供最新镜像、如何处理Web服务器/PHP/使用变体等)。可在上述文档中评论或参与讨论。

如何使用

快速开始

确保已正确安装docker和docker-compose。

bash
git clone https://github.com/pkp/containers.git journalName && cd journalName
rm docs templates -Rf                               # 删除生产环境中无用的文件夹
vim .env                                            # 根据需要设置环境变量(OJS版本、端口、URL等)
source .env && wget "https://github.com/pkp/${PKP_TOOL}/raw/${PKP_VERSION}/config.TEMPLATE.inc.php" -O ./volumes/config/pkp.config.inc.php
sudo chown 33:33 ./volumes -R && sudo chown 999:999 ./volumes/db -R  # 确保文件夹权限正确
docker compose up -d
# 访问新站点并完成安装(数据库访问凭据见步骤5)

详细说明

完整说明请参考 "https://github.com/pkp/containers/blob/main/docs/easyOJS.md#extended-version-under-review" 文档。

版本

不同OJS版本与不同PHP版本(5至8)组合。未来计划添加不同Web服务器(Apache HTTP Server、nginx)的变体。

注意: 目前并非所有组合都可用!我们主要专注于Apache2。欢迎提交PR。

所有版本标签可在 https://hub.docker.com/r/pkpofficial/ojs/tags/ 查看。

(若标签中未提及Web服务器,则默认使用Apache)

环境变量

镜像支持以下环境变量:

名称默认值说明
SERVERNAMElocalhost用于生成httpd.conf和证书
PKP_TOOLojsPKP工具(ojs、omp、ops),目前仅支持OJS
PKP_VERSION3_3_0-14要部署的OJS版本
COMPOSER_PROJECT_NAMEmyjournal容器名称
PKP_CLI_INSTALL0启动容器时自动安装OJS(开发中)
DB_HOSTdb数据库主机
DB_USERpkp数据库用户
DB_PASSWORDojsPwd数据库密码
DB_NAMEojs数据库名称
HTTP_PORT8080HTTP端口
HTTPS_PORT8443HTTPS端口

注意: OJS_CLI_INSTALL和证书功能仍在开发中。

特殊卷

Docker内容默认是临时的,但某些数据需在容器重启后持久化(如数据库内容、上传文件、插件开发文件等)。默认版本文件夹中包含./volumes目录结构(默认禁用),需在docker-compose.yml中取消卷挂载注释并正确配置文件夹。

主机路径容器容器路径描述
./volumes/publicapp/var/www/html/public所有公共文件
./volumes/privateapp/var/www/files所有私有文件(上传内容)
./volumes/config/db.charset.confdb/etc/mysql/conf.d/charset.cnfMariaDB配置文件
./volumes/config/pkp.config.inc.phpapp/var/www/html/config.inc.phpOJS配置文件
./volumes/config/php.custom.iniapp/usr/local/etc/php/conf.d/custom.iniPHP自定义配置
./volumes/config/apache.htaccessapp/var/www/html/.htaccessApache2 htaccess文件
./volumes/logs/appapp/var/log/apache2Apache2日志
./volumes/logs/dbdb/var/log/mysqlMariaDB日志
./volumes/dbdb/var/lib/mysqlMariaDB数据库内容
./volumes/migrationdb/docker-entrypoint-initdb.d数据库初始化文件夹(含SQL文件)
/etc/localtimeapp/etc/localtime与主机时钟同步
TBDapp/etc/ssl/apache2/server.pemSSL证书(crt)
TBDapp/etc/ssl/apache2/server.keySSL密钥(key)

本镜像使用相对路径的“绑定卷”,便于明确数据存储位置。使用前需确保存储文件夹存在且权限正确,可运行以下命令设置权限:

bash
$ chown 33:33 ./volumes -R            # Debian容器内www-data用户(uid 33/gid 33)
$ chown 999:999 ./volumes/db -R
$ chown 999:999 ./volumes/logs/db -R  # MariaDB用户(uid 999/gid 999)

内置脚本

Dockerfile在/usr/local/bin中包含以下脚本,用于简化常见操作:

脚本容器描述
pkp-run-scheduledojs运行php tools/runScheduledTasks.php,由cron每小时调用
pkp-cli-installojs使用curl和预定义变量调用OJS安装程序
pkp-pre-startojs强制设置部分配置变量,基于ServerName生成自签名证书
pkp-upgradeojs运行php tools/upgrade.php upgrade(当config.inc.php为卷时可能有问题)
pkp-variableojs修改config.inc.php中的变量值(如:pkp-variable variable newValue)

部分脚本仍处于测试阶段,使用时需注意。可通过docker compose exec在容器外调用:

bash
$ docker compose exec app /usr/local/bin/pkp-variable session_check_ip Off

或使用docker exec:

bash
$ docker exec -it pkp_app_journalname /usr/local/bin/pkp-variable session_check_ip Off

升级OJS

  1. 停止旧版本容器(如"pkpofficial/ojs:2_4_8-5"):

    bash
    docker compose stop
    
  2. 在.env文件中设置新版本(或直接修改docker-compose.yml),将旧版本(如2_4_5-2)替换为新版本(如3_2_1-4)。

  3. 拉取并启动新容器:

    bash
    $ docker compose pull
    $ docker compose up -d
    
  4. 运行升级脚本:

    bash
    $ docker compose up php tools/upgrade.php check && docker compose up php tools/upgrade.php upgrade 
    

提示: 可通过docker ps -a | grep pkp_app查看OJS容器名称。

警告: 直接升级至最新稳定版需根据初始版本,推荐路径:2.x > 2.4.8-5 > 3.1.2-4 > 3.2.1-4 > 3.3.x-x

Apache2

目前仅支持Apache2,配置文件和卷均针对Apache2设计。

修改配置的简便方法

无需构建本地镜像,可使用Docker Hub镜像并在docker-compose.yml中映射配置文件。例如,创建./volumes/config/php.custom.ini并取消对应卷注释即可自定义PHP设置。

RESTful URL(简洁URL)

默认启用RESTful URL,Apache已配置,无需在URL中使用index.php。

SSL

Apache启动时会检查SSL证书有效性及CN是否匹配SERVERNAME,若不匹配则生成新证书。可通过卷挂载自定义证书(见docker-compose.yml)。

注意: 此功能正在审核中,未来可能变更。

外部SSL服务(SSL卸载)

若前端有外部服务处理SSL连接,需在<VirtualHost *:80> section中添加PassENV HTTPS到ojs.conf。

如何贡献

更新compose配置和Dockerfile

克隆项目并提交PR,贡献新Dockerfile或docker-compose配置。版本文件基于templates目录下的模板生成,可通过build.sh脚本重新生成:

bash
# 生成特定版本
$ ./build.sh 3_1_2-4

# 生成所有版本
$ ./build.sh

添加新堆栈(如nginx)

  1. 确保版本号在versions.list中。
  2. 在templates目录中创建所需文件(Dockerfile模板、docker-compose模板、配置文件等)。
  3. 编辑build.sh添加新堆栈(如webServers=( 'apache' 'nginx' ))。
  4. 运行build.sh重新生成版本。
  5. 测试并提交PR(仅包含build.sh和模板文件,忽略versions目录)。

故障排除

  • Mac问题:新Mac的ARM架构不支持,可能存在互斥锁设置问题,参考相关链接。
  • Windows问题:PowerShell不兼容wget变量,需手动修改配置文件获取正确版本的config.TEMPLATE。
  • nginx镜像:目前未提供,欢迎贡献。
  • 插件处理:可通过卷挂载或自定义Dockerfile集成插件。
  • 路线图:优先解决Mac镜像问题、自动化构建、基于Containers for PKP文档创建新镜像。

许可证

GPL3 © https://github.com/pkp

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 ojs 镜像标签

docker pull docker.xuanyuan.run/pkpofficial/ojs:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull pkpofficial/ojs:<标签>

轩辕镜像配置手册

按平台快速找到配置文档

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

一键安装

一键安装 Docker

Linux Docker 一键安装

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

免费版与专业版区别

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
pkpofficial/ojs
教程轩辕镜像功能与使用教程
定价查看流量套餐与价格
热门查看热门 Docker 镜像推荐
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥7/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥7/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
商务合作:点击复制邮箱
用户协议·隐私政策·©2024-2026 源码跳动
用户协议·隐私政策©2024-2026 杭州源码跳动科技有限公司商务合作:点击复制邮箱

更多 ojs 镜像推荐

lucasdiedrich/ojs logo

lucasdiedrich/ojs

lucasdiedrich
Open Journal Systems(OJS)是由公共知识项目开发的期刊管理与发布系统,支持学术期刊全流程管理与出版,基于Alpine Linux构建,轻量易部署且包含所有依赖可直接运行。
9 次收藏5万+ 次下载
6 年前更新

查看更多 ojs 相关镜像