docker-dotclear/debian/nginx/2.31/Dockerfile

60 lines
No EOL
1.9 KiB
Docker

# docker-dotclear:2.31-dnf
# Debian 12.7 / nginx 1.22.1 / php-fpm 8.3
FROM php:8.3-fpm
# Dotclear version
ENV DOTCLEAR_VERSION 2.31
ENV DOTCLEAR_MD5 ec08bbcee14132ac7bcefb8ce5d415ed
# Required system packages
RUN set -x; \
apt-get update \
&& apt-get install -y nginx \
&& apt-get install -y --no-install-recommends \
postgresql-server-dev-all \
libfreetype6-dev \
libjpeg62-turbo-dev \
libpng-dev \
libonig-dev \
rsync \
unzip \
&& rm -r /var/lib/apt/lists/*
# Required php packages
RUN docker-php-ext-install opcache mbstring pgsql mysqli \
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install gd
# Opcache
RUN { \
echo 'opcache.memory_consumption=128'; \
echo 'opcache.interned_strings_buffer=8'; \
echo 'opcache.max_accelerated_files=4000'; \
echo 'opcache.revalidate_freq=2'; \
echo 'opcache.fast_shutdown=1'; \
echo 'opcache.enable_cli=1'; \
} > /usr/local/etc/php/conf.d/php-opocache-cfg.ini
# Web server configuartion
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
COPY server.conf /etc/nginx/conf.d/default.conf
WORKDIR /var/www/html
EXPOSE 80
# Get Dotclear
RUN mkdir -p /usr/src/dotclear \
&& curl -fsSL -o dotclear.zip "http://download.dotclear.org/attic/dotclear-${DOTCLEAR_VERSION}.zip" \
&& echo "$DOTCLEAR_MD5 dotclear.zip" | md5sum -c - \
&& unzip -d /usr/src dotclear.zip \
&& rm dotclear.zip \
&& chown -R www-data:www-data /usr/src/dotclear \
&& chmod -R 755 /usr/src/dotclear/public /usr/src/dotclear/cache \
&& rm -f /var/www/html/*
# Entrypoint
ADD ../docker-entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
# Container healthcheck
HEALTHCHECK --timeout=10s CMD curl --silent --fail http://127.0.0.1:8080/fpm-ping || exit 1