docker/Dockerfile.webui
Jeroen De Meerleer 8443ceb21d
Downgrade PHP version in Dockerfiles
The PHP version used in the Dockerfiles has been downgraded from 8.3 to 8.2. This change affects the base Dockerfile, as well as the daemon and webui variants. The downgrade is expected to resolve compatibility issues with some dependencies.
2024-11-08 10:30:50 +01: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.2-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"]