About this project
A Docker environment that allows EC-CUBE 4 to be operated with the same configuration in both development and production environments. The development environment can be started with git clone and bin/init.sh, and production deployment is possible via bin/publish.sh. It can be introduced using the same procedure whether on a VPS or AWS.
As a design policy, the EC-CUBE core is baked into the Docker image (acquired via composer create-project) and is not included in the repository. Version switching is handled by rebuilding the image. Only custom code is managed by Git, using a structure where only necessary directories such as app/Customize, app/template, app/DoctrineMigrations, app/Plugin, and html/user_data are overlaid via bind-mount. Uploaded images are stored in a dedicated volume (which can be replaced with NFS/EFS).
Based on compose.yaml, the environment provides a development override, a production version, and a configuration consisting only of the app layer for multiple hosts. For the DB, MariaDB/MySQL or PostgreSQL can be selected. PHP is chosen via the distribution image tags, with patches applied weekly. It supports both amd64 and arm64.
In the development environment, Mailpit and phpMyAdmin are available. Operation scripts for deploy, console, shell, plugin, test, backup, and restore are provided in bin/. The design ensures that commands inside the container are executed as www-data to prevent 500 errors caused by files generated with root privileges. Documentation regarding installation, customization, version upgrades, deployment, backup, scaling, monitoring, testing, and IDE settings is split and placed under the docs/ directory.
The license is Apache License 2.0 (for repository files only). The EC-CUBE core is subject to a separate license (GPL/Commercial dual license).
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.