docker/Dockerfile.webui
Jeroen De Meerleer 3a3b5d8eb3
Removed memcached PHP extension installation
The memcached PHP extension was removed from the Dockerfiles. This change affects all three Dockerfiles, reducing the number of installed extensions by one. The remaining extensions were left untouched.
2024-11-08 13:24:20 +01:00

59 lines
2.2 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
RUN set -eux;install-php-extensions bcmath
RUN set -eux;install-php-extensions pdo_mysql
RUN set -eux;install-php-extensions opcache
RUN set -eux;install-php-extensions pcntl
RUN set -eux;install-php-extensions 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"]