FROM prestashop/prestashop:9 # Apply EduBox patches so PrestaShop 9 works behind the dynamic-domain reverse proxy. COPY edubox-tools.patch \ edubox-link.patch \ edubox-frontcontroller.patch \ edubox-shop.patch \ edubox-shopurl.patch \ edubox-shop-getbaseurl.patch \ edubox-shopcontext.patch \ edubox-asseturl.patch \ edubox-install.patch \ edubox-install-language.patch \ edubox-language.patch \ edubox-configuration.patch \ edubox-dashboard-warning.patch \ edubox-docker-run.patch \ /tmp/ RUN patch -p1 -d /var/www/html < /tmp/edubox-tools.patch && \ patch -p1 -d /var/www/html < /tmp/edubox-link.patch && \ patch -p1 -d /var/www/html < /tmp/edubox-frontcontroller.patch && \ patch -p1 -d /var/www/html < /tmp/edubox-shop.patch && \ patch -p1 -d /var/www/html < /tmp/edubox-shopurl.patch && \ patch -p1 -d /var/www/html < /tmp/edubox-shop-getbaseurl.patch && \ patch -p1 -d /var/www/html < /tmp/edubox-shopcontext.patch && \ patch -p1 -d /var/www/html < /tmp/edubox-asseturl.patch && \ patch -p1 -d /var/www/html < /tmp/edubox-install.patch && \ patch -p1 -d /var/www/html < /tmp/edubox-install-language.patch && \ patch -p1 -d /var/www/html < /tmp/edubox-language.patch && \ patch -p1 -d /var/www/html < /tmp/edubox-configuration.patch && \ patch -p1 -d /var/www/html < /tmp/edubox-dashboard-warning.patch && \ patch -p1 -d / < /tmp/edubox-docker-run.patch && \ rm /tmp/edubox-*.patch # Apache proxy configuration COPY proxy.conf /etc/apache2/conf-enabled/edubox-proxy.conf # Pre-download French translation pack so the installer works offline. # Agents may not have outbound internet access during installation. # The official image copies /tmp/data-ps/prestashop/ into /var/www/html on first # boot, so we place the pack there as well. COPY translations-symfony-fr-FR.zip /tmp/data-ps/prestashop/translations/sf-fr-FR.zip RUN chown -R www-data:www-data /tmp/data-ps/prestashop/translations # Early bootstrap normalisation for X-Forwarded-* headers COPY defines_custom.inc.php /var/www/html/config/defines_custom.inc.php # Clear caches on every start so dynamic domains/ports are picked up COPY edubox-clear-cache-init.sh /tmp/init-scripts/edubox-clear-cache.sh RUN chmod +x /tmp/init-scripts/edubox-clear-cache.sh RUN chown -R www-data:www-data /var/www/html