diff --git a/doenet_docker/dev/Dockerfile b/doenet_docker/dev/Dockerfile index 28da4e0a4a..378217afaf 100644 --- a/doenet_docker/dev/Dockerfile +++ b/doenet_docker/dev/Dockerfile @@ -1,7 +1,10 @@ -FROM node:19.8-bullseye +FROM composer as composer +WORKDIR /build +COPY ./doenet_docker/dev/composer.json . +RUN composer install --ignore-platform-reqs +FROM node:19.8-bullseye RUN echo "deb http://deb.debian.org/debian bullseye-backports main" >/etc/apt/sources.list.d/bullseye-backports.list - RUN apt-get update && \ apt-get -y install \ gnome-keyring \ @@ -12,8 +15,15 @@ RUN apt-get update && \ gnupg \ lsb-release \ #update git to support ssh signing - git/bullseye-backports - + git/bullseye-backports \ + # for php + php-common \ + libapache2-mod-php \ + php-cli \ + php-xml \ + php-mbstring + +# prep Docker WORKDIR / RUN curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg @@ -28,7 +38,14 @@ RUN rm -rf /var/lib/apt/lists/* &&\ apt-get -y autoremove && \ apt-get clean +# prep workspace RUN mkdir -p /home/node/workspace/node_modules && chown -R node:node /home/node/workspace + +# php composer deps +WORKDIR /usr/local/apache2/htdocs/api/ +COPY --from=composer /build/vendor ./vendor + +# local configs WORKDIR /home/node/workspace COPY --chown=node:node package*.json vite.config.js ./ USER node diff --git a/doenet_docker/dev/composer.json b/doenet_docker/dev/composer.json new file mode 100644 index 0000000000..82048767ac --- /dev/null +++ b/doenet_docker/dev/composer.json @@ -0,0 +1,6 @@ +{ + "require": { + "firebase/php-jwt": "5.2.*", + "phpunit/phpunit": "9.6.7" + } +}