FROM debian:12.5 # Basic dependencies RUN apt-get -y update && apt-get -y install curl npm # Build and watch dependencies RUN apt-get -y update && apt-get -y install exiftool RUN apt-get -y update && apt-get -y install imagemagick # Test dependencies RUN apt-get -y update && apt-get -y install chromium ENV CHROME_BIN=chromium # TODO: use dotenv for npm version? RUN npm install -g n RUN n 20.17.0 # locally these two should be identical, so that compilation results are written out into the file dir. # in CI-pipelines these two should be different, so that the container caches the compilation results. ARG MOUNT_DIR=/mnt/fradrive ARG PROJECT_DIR=/fradrive RUN mkdir -p ${PROJECT_DIR} RUN if [ "${PROJECT_DIR}" != "${MOUNT_DIR}" ] ; then cp -r ${MOUNT_DIR}/* ${PROJECT_DIR} ; fi WORKDIR ${PROJECT_DIR} ENV HOME=${PROJECT_DIR} #RUN make node_modules IN_CONTAINER=true #RUN make well-known IN_CONTAINER=true RUN make -- static ENV FRADRIVE_MAKE_TARGET=start-frontend ENTRYPOINT make -- ${FRADRIVE_MAKE_TARGET} IN_CONTAINER=true CHROME_BIN=${CHROME_BIN}