这个项目能做什么

这是一个让 EC-CUBE 4 在开发环境和生产环境中能够以相同配置运行的 Docker 环境。通过 git clone 和 bin/init.sh 即可启动开发环境,通过 bin/publish.sh 即可发布至生产环境。无论是在 VPS 还是 AWS 上,都可以采用相同的步骤进行部署。 在设计方针上,EC-CUBE 主体通过 composer create-project 获取并构建(bake)在 Docker 镜像中,不包含在代码仓库内。版本的切换通过重新构建镜像来实现。Git 仅管理自定义代码,采用 bind-mount 结构,仅叠加 app/Customize、app/template、app/DoctrineMigrations、app/Plugin、html/user_data 等必要目录。上传的图片则存储在专用卷中(可替换为 NFS/EFS)。 基于 compose.yaml,提供了开发用 override、生产用以及仅包含 app 层的多主机配置等选项。数据库可选择 MariaDB/MySQL 或 PostgreSQL。PHP 版本通过分发镜像的标签选择,且每周会应用补丁。同时支持 amd64/arm64 架构。 开发环境可使用 Mailpit 和 phpMyAdmin。bin/ 目录下准备了 deploy、console、shell、plugin、test、backup、restore 等操作脚本。容器内命令固定以 www-data 用户执行,旨在防止因生成 root 权限文件而导致 500 错误。docs/ 目录下分门别类地配置了关于导入、自定义、版本升级、部署、备份、扩容、监控、测试及 IDE 设置等文档。 许可证为 Apache License 2.0(仅限仓库文件)。EC-CUBE 主体适用另一套许可证(GPL/商业双重许可证)。