docker/Dockerfile.webui
Jeroen De Meerleer 9e52b3bec6
Updated Node.js version in Dockerfiles
The Node.js version used in the Dockerfiles has been updated from 20 to 22. This change affects both the main Dockerfile and the web UI Dockerfile.
2024-10-10 12:34:02 +02:00

54 lines
2.0 KiB
Docker

FROM node:22 AS nodebuilder
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update -y && apt-get install -y git
RUN git clone https://git.jeroened.be/webcron/webcron.git /tmp/buildir/webcron
WORKDIR /tmp/buildir/webcron
RUN npm install
RUN npm run build
RUN rm -rf node_modules
FROM php:8.3-apache
ENV APACHE_DOCUMENT_ROOT=/var/www/webcron/public/
ENV WEBCRON_ROOT=/var/www/webcron/
ENV TZ=Europe/Brussels
ENV COMPOSER_ALLOW_SUPERUSER=1 DEBIAN_FRONTEND=noninteractive
COPY --from=nodebuilder --chown=www-data:www-data /tmp/buildir/webcron ${WEBCRON_ROOT}
ARG VERSION
RUN sed -ri -e "s!/var/www/html!${APACHE_DOCUMENT_ROOT}!g" /etc/apache2/sites-available/*.conf
RUN sed -ri -e "s!/var/www/!${APACHE_DOCUMENT_ROOT}!g" /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
RUN a2enmod rewrite
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin
RUN set -eux; \
chmod uga+x /usr/local/bin/install-php-extensions && sync
RUN set -eux;install-php-extensions intl bcmath pdo_mysql opcache memcached pcntl zip
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
RUN printf "[PHP]\ndate.timezone = \"$TZ\"\n" > /usr/local/etc/php/conf.d/tzone.ini
COPY wait-for-it.sh /usr/local/bin/wait-for-it.sh
COPY apache2-foreground /usr/local/bin/apache2-foreground
COPY entrypoint.webui.sh /usr/local/bin/entrypoint.sh
RUN set -eux; \
chmod uga+x /usr/local/bin/wait-for-it.sh && \
chmod uga+x /usr/local/bin/entrypoint.sh && \
chmod uga+x /usr/local/bin/apache2-foreground && sync
USER www-data
WORKDIR ${WEBCRON_ROOT}
RUN mv .env.sample .env
RUN composer install
RUN bash -c "if [ -n \"${VERSION}\" ] ; then echo ${VERSION} > ${WEBCRON_ROOT}/version ; fi"
USER root
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]