# zencart on docker Release 1.57 Debian 10 php7.3 7+ hours of work. Maybe should've just used a turnkey appliance. Maybe... Maybe not. # tips First see notes below. Then. docker-compose up docker exec -it zencart_157c /bin/bash then go into /tmp and run these commands. && unzip /tmp/download \ && mv /tmp/zen-cart*/* /var/www/html/. \ && cd /var/www/html \ && cp includes/dist-configure.php includes/configure.php \ && cp admin/includes/dist-configure.php admin/includes/configure.php \ && chown -R www-data:www-data /var/www/html For some reason, I can't get volumes automated correct. Help? #NOTES index.html must be deleted to make room for index.php, otherwise debian default page takes precedence if you don't keep /var/www/html, then you lose all data when container is restarted. The apache ENV vars must be set in Dockerfile (already done, just leaving a note. ENV APACHE_RUN_USER www-data ENV APACHE_RUN_GROUP www-data ENV APACHE_LOG_DIR /var/log/apache2 ENV APACHE_PID_FILE /var/run/apache2.pid ENV APACHE_RUN_DIR /var/www/html/ ENV APACHE_LOCK_DIR /var/lock/apache2 mcrypt had to be a specific release, and is installed separately with pecl... The new apache2 conf is mostly the same, but has allowance for htaccess, iirc. compare to stock apache2 conf if interested. mariadb used was 10.5. As of this writing it pulls 10.5.9 (which works). It's possible 10.5.10 will break things, who knows. zencart has which mariadb, php, and apache it works with in the downloadable zip. You should have along with this folder of the docker-compose, app w/dockerfile & apache2 conf but also a dbdata folder (stores db), and a folder for /var/www/html. See dockerfile and docker-compose.