Sobre el proyecto
Entorno Docker que permite operar EC-CUBE 4 con la misma configuración tanto en el entorno de desarrollo como en el de producción. El entorno de desarrollo se inicia con git clone y bin/init.sh, y se puede publicar en producción mediante bin/publish.sh. Es posible implementarlo siguiendo los mismos pasos ya sea en VPS o AWS.
Como política de diseño, el cuerpo principal de EC-CUBE se integra en la imagen de Docker (obtenido mediante composer create-project) y no se incluye en el repositorio. El cambio de versión se realiza mediante la reconstrucción de la imagen. Solo el código personalizado se gestiona con Git, utilizando una estructura donde solo los directorios necesarios, como app/Customize, app/template, app/DoctrineMigrations, app/Plugin y html/user_data, se superponen mediante bind-mount. Las imágenes cargadas se almacenan en un volumen dedicado (sustituible por NFS/EFS).
Basándose en compose.yaml, se proporcionan configuraciones para override de desarrollo, producción y configuraciones solo para la capa de app en hosts múltiples. Para la base de datos, se puede elegir entre MariaDB/MySQL o PostgreSQL. El PHP se selecciona mediante las etiquetas de la imagen de distribución, con parches aplicados semanalmente. Compatible con amd64/arm64.
En el entorno de desarrollo, están disponibles Mailpit y phpMyAdmin. En bin/ se incluyen scripts de operación para deploy, console, shell, plugin, test, backup y restore. El diseño ejecuta los comandos dentro del contenedor fijamente como www-data para evitar errores 500 causados por la generación de archivos con permisos de root. En el directorio docs/ se encuentran documentos divididos sobre instalación, personalización, actualización de versión, despliegue, respaldo, escalado, monitoreo, pruebas y configuración de IDE.
La licencia es Apache License 2.0 (solo para los archivos del repositorio). Para el cuerpo principal de EC-CUBE se aplica una licencia diferente (licencia dual GPL/comercial).
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.