Jeroen De Meerleer
3a3b5d8eb3
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.
59 lines
2.2 KiB
Docker
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"]
|