À propos du projet

Un environnement Docker permettant d'exploiter EC-CUBE 4 avec la même configuration pour les environnements de développement et de production. L'environnement de développement est lancé via git clone et bin/init.sh, et la mise en production s'effectue via bin/publish.sh. L'installation est possible avec la même procédure, que ce soit sur un VPS ou sur AWS. En termes de conception, le corps d'EC-CUBE est intégré (baked) dans l'image Docker (obtenu via composer create-project) et n'est pas inclus dans le dépôt. Le changement de version s'effectue par la reconstruction de l'image. Seul le code personnalisé est géré par Git, avec une structure où seuls les répertoires nécessaires, tels que app/Customize, app/template, app/DoctrineMigrations, app/Plugin et html/user_data, sont superposés via bind-mount. Les images téléchargées sont stockées dans un volume dédié (remplaçable par NFS/EFS). Sur la base de compose.yaml, des configurations sont prévues pour le développement (override), la production, ou uniquement la couche app pour les hôtes multiples. Pour la base de données, MariaDB/MySQL ou PostgreSQL peuvent être choisis. PHP est sélectionné via les tags de l'image de distribution, avec des patchs appliqués chaque semaine. Le système est compatible avec amd64 et arm64. En environnement de développement, Mailpit et phpMyAdmin sont disponibles. Des scripts d'opération tels que deploy, console, shell, plugin, test, backup et restore sont fournis dans le répertoire bin/. Les commandes à l'intérieur du conteneur sont exécutées systématiquement avec l'utilisateur www-data pour éviter les erreurs 500 causées par la génération de fichiers avec des privilèges root. La documentation est répartie dans le répertoire docs/, couvrant l'installation, la personnalisation, la mise à jour, le déploiement, la sauvegarde, la mise à l'échelle, la surveillance, les tests et la configuration de l'IDE. La licence est Apache License 2.0 (uniquement pour les fichiers du dépôt). Le corps d'EC-CUBE est soumis à une licence distincte (double licence GPL/commerciale).