From 59d6ece43284c737cdca53845f386bf1586dc447 Mon Sep 17 00:00:00 2001 From: Bernd Reuther Date: Fri, 13 Oct 2023 11:29:14 +0200 Subject: [PATCH] Dockerfile aktualisiert --- Dockerfile | 83 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 76 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index ef2c4bb..fe33273 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,78 @@ -# Dockerfile -FROM meteor/meteor-base +FROM php:7.4-apache +LABEL maintainer="Andy Miller (@rhukster)" -USER mt -WORKDIR /home/mt -RUN mkdir app -WORKDIR /home/mnt/app +# Enable Apache Rewrite + Expires Module +RUN a2enmod rewrite expires && \ + sed -i 's/ServerTokens OS/ServerTokens ProductOnly/g' \ + /etc/apache2/conf-available/security.conf -CMD ["meteor"] \ No newline at end of file +# Install dependencies +RUN apt-get update && apt-get install -y --no-install-recommends \ + unzip \ + libfreetype6-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + libyaml-dev \ + libzip4 \ + libzip-dev \ + zlib1g-dev \ + libicu-dev \ + g++ \ + git \ + cron \ + vim \ + && docker-php-ext-install opcache \ + && docker-php-ext-configure intl \ + && docker-php-ext-install intl \ + && docker-php-ext-configure gd --with-freetype --with-jpeg \ + && docker-php-ext-install -j$(nproc) gd \ + && docker-php-ext-install zip \ + && rm -rf /var/lib/apt/lists/* + +# set recommended PHP.ini settings +# see https://secure.php.net/manual/en/opcache.installation.php +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'; \ + echo 'upload_max_filesize=128M'; \ + echo 'post_max_size=128M'; \ + echo 'expose_php=off'; \ + } > /usr/local/etc/php/conf.d/php-recommended.ini + +RUN pecl install apcu \ + && pecl install yaml-2.0.4 \ + && docker-php-ext-enable apcu yaml + +# Set user to www-data +RUN chown www-data:www-data /var/www +USER www-data + +# Define Grav specific version of Grav or use latest stable +ARG GRAV_VERSION=latest + +# Install grav +WORKDIR /var/www +RUN curl -o grav-admin.zip -SL https://getgrav.org/download/core/grav-admin/${GRAV_VERSION} && \ + unzip grav-admin.zip && \ + mv -T /var/www/grav-admin /var/www/html && \ + rm grav-admin.zip + +# Create cron job for Grav maintenance scripts +RUN (crontab -l; echo "* * * * * cd /var/www/html;/usr/local/bin/php bin/grav scheduler 1>> /dev/null 2>&1") | crontab - + +# Return to root user +USER root + +# Copy init scripts +# COPY docker-entrypoint.sh /entrypoint.sh + +# provide container inside image for data persistence +VOLUME ["/var/www/html"] + +# ENTRYPOINT ["/entrypoint.sh"] +# CMD ["apache2-foreground"] +CMD ["sh", "-c", "cron && apache2-foreground"] \ No newline at end of file