diff --git a/caddy2/php5.6/Caddyfile b/caddy2/php5.6/Caddyfile new file mode 100644 index 0000000..d1e7748 --- /dev/null +++ b/caddy2/php5.6/Caddyfile @@ -0,0 +1,5 @@ +:8080 + +encode gzip +php_fastcgi 127.0.0.1:9000 +file_server diff --git a/caddy2/php5.6/Caddyfile.public b/caddy2/php5.6/Caddyfile.public new file mode 100644 index 0000000..7397a25 --- /dev/null +++ b/caddy2/php5.6/Caddyfile.public @@ -0,0 +1,6 @@ +:8080 + +root * /var/www/html/public +encode gzip +php_fastcgi 127.0.0.1:9000 +file_server diff --git a/caddy2/php5.6/Dockerfile b/caddy2/php5.6/Dockerfile new file mode 100644 index 0000000..4819d1a --- /dev/null +++ b/caddy2/php5.6/Dockerfile @@ -0,0 +1,64 @@ +FROM caddy/caddy:v2.0.0-beta.17 as caddy + +FROM php:5.6-fpm-alpine3.10 + +ENV RUN_DEPS \ + zlib \ + libzip \ + libpng \ + libjpeg-turbo \ + libxslt \ + postgresql-libs + +ENV BUILD_DEPS \ + zlib-dev \ + libzip-dev \ + libpng-dev \ + libjpeg-turbo-dev \ + postgresql-dev \ + libgcrypt-dev \ + libxslt-dev + +ENV PHP_EXTENSIONS \ + opcache \ + zip \ + gd \ + bcmath \ + mysqli \ + pdo_mysql \ + pgsql \ + pdo_pgsql \ + xsl + +ENV PECL_EXTENSIONS \ + redis + +RUN apk add --no-cache --virtual .build-deps $BUILD_DEPS \ + && docker-php-ext-configure gd --with-jpeg \ + && pecl install $PECL_EXTENSIONS \ + && docker-php-ext-install -j "$(nproc)" $PHP_EXTENSIONS \ + && docker-php-ext-enable $PECL_EXTENSIONS \ + && apk del .build-deps + +RUN apk add --no-cache --virtual .run-deps $RUN_DEPS + +RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" +COPY config $PHP_INI_DIR/conf.d +COPY php-fpm /usr/local/etc/php-fpm.d + +RUN curl --tlsv1 -v -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \ + /usr/local/bin/composer global require hirak/prestissimo + +COPY --from=caddy /config /config +COPY --from=caddy /data /data +COPY --from=caddy /usr/bin/caddy /usr/bin/caddy +COPY Caddyfile Caddyfile.public /etc/caddy/ + +COPY php-caddy-entrypoint /usr/local/bin/ +RUN chmod +x /usr/local/bin/php-caddy-entrypoint + +EXPOSE 8080 + +ENTRYPOINT [ "php-caddy-entrypoint" ] + +CMD ["caddy", "run", "--config", "/etc/caddy/Caddyfile", "--adapter", "caddyfile"] \ No newline at end of file diff --git a/caddy2/php5.6/config/opcache.ini b/caddy2/php5.6/config/opcache.ini new file mode 100644 index 0000000..3fa1484 --- /dev/null +++ b/caddy2/php5.6/config/opcache.ini @@ -0,0 +1,7 @@ +opcache.enable=1 + +opcache.memory_consumption=256 +opcache.interned_strings_buffer=16 +opcache.fast_shutdown=1 + +opcache.validate_timestamps=1 diff --git a/caddy2/php5.6/config/upload.ini b/caddy2/php5.6/config/upload.ini new file mode 100644 index 0000000..e173d3d --- /dev/null +++ b/caddy2/php5.6/config/upload.ini @@ -0,0 +1,2 @@ +post_max_size=100M +upload_max_filesize=100M diff --git a/caddy2/php5.6/php-caddy-entrypoint b/caddy2/php5.6/php-caddy-entrypoint new file mode 100644 index 0000000..05068f5 --- /dev/null +++ b/caddy2/php5.6/php-caddy-entrypoint @@ -0,0 +1,20 @@ +#!/bin/sh + +set -e + +FPM_CONFIG_DIR=/usr/local/etc/php-fpm.d + +read_env_config() { + prefix=$1 + output=$2 + + env | grep -E "^$prefix\..+=.+" | while IFS='=' read -r config_name config_value; do + echo "${config_name#*.} = $config_value" >> "$output" + done +} + +read_env_config PHP $PHP_INI_DIR/conf.d/zz-docker-env.ini +read_env_config PHP_FPM $FPM_CONFIG_DIR/zz-docker.conf + +php-fpm -D +exec "$@" diff --git a/caddy2/php5.6/php-fpm/www.conf b/caddy2/php5.6/php-fpm/www.conf new file mode 100644 index 0000000..12afc81 --- /dev/null +++ b/caddy2/php5.6/php-fpm/www.conf @@ -0,0 +1,19 @@ +[www] + +user = www-data +group = www-data + +listen = 127.0.0.1:9000 + +pm = dynamic +pm.max_children = 5 +pm.start_servers = 2 +pm.min_spare_servers = 1 +pm.max_spare_servers = 3 + +security.limit_extensions = .php + +ping.path = /ping +ping.response = pong + +access.format = "%R - %t \"%m %r %{HTTP_X_URI}e\" %s %{mili}d %{kilo}M %C%%"