What is the status of this project? #299

Open
opened 2025-02-25 12:38:17 +00:00 by ctaity · 1 comment
ctaity commented 2025-02-25 12:38:17 +00:00 (Migrated from github.com)

is this project dead?

is possible to generate a version with PHP 8.4???

is this project dead? is possible to generate a version with PHP 8.4???
ctaity-treinta commented 2025-03-05 19:03:34 +00:00 (Migrated from github.com)

well here is a version with php 8.4

`FROM php:8.4-fpm-alpine3.20

LABEL maintainer="Taity ctaity@gmail.com"

ENV php_conf="/usr/local/etc/php-fpm.conf"
ENV fpm_conf="/usr/local/etc/php-fpm.d/www.conf"
ENV php_vars="/usr/local/etc/php/conf.d/docker-vars.ini"

ENV LUAJIT_LIB="/usr/lib"
ENV LUAJIT_INC="/usr/include/luajit-2.1"

resolves #166

ENV LD_PRELOAD="/usr/lib/preloadable_libiconv.so php"
#RUN apk add --no-cache --repository http://dl-3.alpinelinux.org/alpine/edge/community gnu-libiconv

#INstall nginx + lua and devel kit
RUN apk add --no-cache nginx
nginx-mod-http-lua
nginx-mod-devel-kit

# RUN echo @testing https://dl-cdn.alpinelinux.org/alpine/edge/testing >> /etc/apk/repositories && \

# echo /etc/apk/respositories && \

RUN apk update && apk upgrade &&
apk add --no-cache
bash
openssh-client
wget
supervisor
curl
libcurl
libpq
git
python3
py3-pip
dialog
autoconf
make
libzip-dev
bzip2-dev
icu-dev
tzdata
libpng-dev
libjpeg-turbo-dev
freetype-dev
libxslt-dev
certbot
certbot-nginx
gcc

RUN apk add --no-cache --virtual .sys-deps
musl-dev
linux-headers
augeas-dev
libmcrypt-dev
python3-dev
libffi-dev
sqlite-dev
imap-dev
postgresql-dev
lua-resty-core
libjpeg-turbo-dev
libwebp-dev
zlib-dev
libxpm-dev
libpng
libpng-dev

# Install PHP modules

RUN docker-php-ext-configure gd
--enable-gd
--with-freetype
--with-jpeg &&
docker-php-ext-install gd &&
docker-php-ext-install pdo_mysql mysqli pdo_sqlite pgsql pdo_pgsql exif intl xsl soap zip &&
pecl install -o -f xdebug &&
pecl install -o -f redis && \
pecl install -o -f mongodb &&
echo "extension=redis.so" > /usr/local/etc/php/conf.d/redis.ini &&
echo "extension=mongodb.so" > /usr/local/etc/php/conf.d/mongodb.ini &&
echo "zend_extension=xdebug" > /usr/local/etc/php/conf.d/xdebug.ini &&
docker-php-source delete

Install composer

RUN mkdir -p /var/www/app &&
mkdir -p /var/log/supervisor &&
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" &&
php composer-setup.php --quiet --install-dir=/usr/bin --filename=composer &&
rm composer-setup.php

RUN mkdir -p /etc/letsencrypt/webrootauth

ADD conf/supervisord.conf /etc/supervisord.conf

# Copy our nginx config

RUN rm -Rf /etc/nginx/nginx.conf
ADD conf/nginx.conf /etc/nginx/nginx.conf

nginx site conf

RUN mkdir -p /etc/nginx/sites-available/ &&
mkdir -p /etc/nginx/sites-enabled/ &&
mkdir -p /etc/nginx/ssl/ &&
rm -Rf /var/www/* &&
mkdir /var/www/html/
ADD conf/nginx-site.conf /etc/nginx/sites-available/default.conf
ADD conf/nginx-site-ssl.conf /etc/nginx/sites-available/default-ssl.conf
RUN ln -s /etc/nginx/sites-available/default.conf /etc/nginx/sites-enabled/default.conf

tweak php-fpm config

RUN echo "cgi.fix_pathinfo=0" > ${php_vars} &&
echo "upload_max_filesize = 100M" >> ${php_vars} &&
echo "post_max_size = 100M" >> ${php_vars} &&
echo "variables_order = "EGPCS"" >> ${php_vars} &&
echo "memory_limit = 128M" >> ${php_vars} &&
sed -i
-e "s/;catch_workers_output\s*=\s*yes/catch_workers_output = yes/g"
-e "s/pm.max_children = 5/pm.max_children = 4/g"
-e "s/pm.start_servers = 2/pm.start_servers = 3/g"
-e "s/pm.min_spare_servers = 1/pm.min_spare_servers = 2/g"
-e "s/pm.max_spare_servers = 3/pm.max_spare_servers = 4/g"
-e "s/;pm.max_requests = 500/pm.max_requests = 200/g"
-e "s/user = www-data/user = nginx/g"
-e "s/group = www-data/group = nginx/g"
-e "s/;listen.mode = 0660/listen.mode = 0666/g"
-e "s/;listen.owner = www-data/listen.owner = nginx/g"
-e "s/;listen.group = www-data/listen.group = nginx/g"
-e "s/listen = 127.0.0.1:9000/listen = /var/run/php-fpm.sock/g"
-e "s/^;clear_env = no$/clear_env = no/"
${fpm_conf}

ln -s /etc/php7/php.ini /etc/php7/conf.d/php.ini && \

RUN cp /usr/local/etc/php/php.ini-development /usr/local/etc/php/php.ini &&
sed -i
-e "s/;opcache/opcache/g"
-e "s/;zend_extension=opcache/zend_extension=opcache/g"
/usr/local/etc/php/php.ini

Add Scripts

ADD scripts/start.sh /start.sh
ADD scripts/pull /usr/bin/pull
ADD scripts/push /usr/bin/push
ADD scripts/letsencrypt-setup /usr/bin/letsencrypt-setup
ADD scripts/letsencrypt-renew /usr/bin/letsencrypt-renew
RUN chmod 755 /usr/bin/pull && chmod 755 /usr/bin/push && chmod 755 /usr/bin/letsencrypt-setup && chmod 755 /usr/bin/letsencrypt-renew && chmod 755 /start.sh

copy in code

ADD src/ /var/www/html/
ADD errors/ /var/www/errors

EXPOSE 443 80

WORKDIR "/var/www/html"
CMD ["/start.sh"]
`

well here is a version with php 8.4 `FROM php:8.4-fpm-alpine3.20 LABEL maintainer="Taity <ctaity@gmail.com>" ENV php_conf="/usr/local/etc/php-fpm.conf" ENV fpm_conf="/usr/local/etc/php-fpm.d/www.conf" ENV php_vars="/usr/local/etc/php/conf.d/docker-vars.ini" ENV LUAJIT_LIB="/usr/lib" ENV LUAJIT_INC="/usr/include/luajit-2.1" # resolves #166 ENV LD_PRELOAD="/usr/lib/preloadable_libiconv.so php" #RUN apk add --no-cache --repository http://dl-3.alpinelinux.org/alpine/edge/community gnu-libiconv #INstall nginx + lua and devel kit RUN apk add --no-cache nginx \ nginx-mod-http-lua \ nginx-mod-devel-kit # # RUN echo @testing https://dl-cdn.alpinelinux.org/alpine/edge/testing >> /etc/apk/repositories && \ # # echo /etc/apk/respositories && \ RUN apk update && apk upgrade &&\ apk add --no-cache \ bash \ openssh-client \ wget \ supervisor \ curl \ libcurl \ libpq \ git \ python3 \ py3-pip \ dialog \ autoconf \ make \ libzip-dev \ bzip2-dev \ icu-dev \ tzdata \ libpng-dev \ libjpeg-turbo-dev \ freetype-dev \ libxslt-dev \ certbot \ certbot-nginx \ gcc RUN apk add --no-cache --virtual .sys-deps \ musl-dev \ linux-headers \ augeas-dev \ libmcrypt-dev \ python3-dev \ libffi-dev \ sqlite-dev \ imap-dev \ postgresql-dev \ lua-resty-core \ libjpeg-turbo-dev \ libwebp-dev \ zlib-dev \ libxpm-dev \ libpng \ libpng-dev # # Install PHP modules RUN docker-php-ext-configure gd \ --enable-gd \ --with-freetype \ --with-jpeg && \ docker-php-ext-install gd && \ docker-php-ext-install pdo_mysql mysqli pdo_sqlite pgsql pdo_pgsql exif intl xsl soap zip && \ pecl install -o -f xdebug && \ pecl install -o -f redis && \ pecl install -o -f mongodb && \ echo "extension=redis.so" > /usr/local/etc/php/conf.d/redis.ini && \ echo "extension=mongodb.so" > /usr/local/etc/php/conf.d/mongodb.ini && \ echo "zend_extension=xdebug" > /usr/local/etc/php/conf.d/xdebug.ini && \ docker-php-source delete # Install composer RUN mkdir -p /var/www/app && \ mkdir -p /var/log/supervisor && \ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \ php composer-setup.php --quiet --install-dir=/usr/bin --filename=composer && \ rm composer-setup.php RUN mkdir -p /etc/letsencrypt/webrootauth ADD conf/supervisord.conf /etc/supervisord.conf # # Copy our nginx config RUN rm -Rf /etc/nginx/nginx.conf ADD conf/nginx.conf /etc/nginx/nginx.conf # nginx site conf RUN mkdir -p /etc/nginx/sites-available/ && \ mkdir -p /etc/nginx/sites-enabled/ && \ mkdir -p /etc/nginx/ssl/ && \ rm -Rf /var/www/* && \ mkdir /var/www/html/ ADD conf/nginx-site.conf /etc/nginx/sites-available/default.conf ADD conf/nginx-site-ssl.conf /etc/nginx/sites-available/default-ssl.conf RUN ln -s /etc/nginx/sites-available/default.conf /etc/nginx/sites-enabled/default.conf # tweak php-fpm config RUN echo "cgi.fix_pathinfo=0" > ${php_vars} &&\ echo "upload_max_filesize = 100M" >> ${php_vars} &&\ echo "post_max_size = 100M" >> ${php_vars} &&\ echo "variables_order = \"EGPCS\"" >> ${php_vars} && \ echo "memory_limit = 128M" >> ${php_vars} && \ sed -i \ -e "s/;catch_workers_output\s*=\s*yes/catch_workers_output = yes/g" \ -e "s/pm.max_children = 5/pm.max_children = 4/g" \ -e "s/pm.start_servers = 2/pm.start_servers = 3/g" \ -e "s/pm.min_spare_servers = 1/pm.min_spare_servers = 2/g" \ -e "s/pm.max_spare_servers = 3/pm.max_spare_servers = 4/g" \ -e "s/;pm.max_requests = 500/pm.max_requests = 200/g" \ -e "s/user = www-data/user = nginx/g" \ -e "s/group = www-data/group = nginx/g" \ -e "s/;listen.mode = 0660/listen.mode = 0666/g" \ -e "s/;listen.owner = www-data/listen.owner = nginx/g" \ -e "s/;listen.group = www-data/listen.group = nginx/g" \ -e "s/listen = 127.0.0.1:9000/listen = \/var\/run\/php-fpm.sock/g" \ -e "s/^;clear_env = no$/clear_env = no/" \ ${fpm_conf} # ln -s /etc/php7/php.ini /etc/php7/conf.d/php.ini && \ RUN cp /usr/local/etc/php/php.ini-development /usr/local/etc/php/php.ini && \ sed -i \ -e "s/;opcache/opcache/g" \ -e "s/;zend_extension=opcache/zend_extension=opcache/g" \ /usr/local/etc/php/php.ini # Add Scripts ADD scripts/start.sh /start.sh ADD scripts/pull /usr/bin/pull ADD scripts/push /usr/bin/push ADD scripts/letsencrypt-setup /usr/bin/letsencrypt-setup ADD scripts/letsencrypt-renew /usr/bin/letsencrypt-renew RUN chmod 755 /usr/bin/pull && chmod 755 /usr/bin/push && chmod 755 /usr/bin/letsencrypt-setup && chmod 755 /usr/bin/letsencrypt-renew && chmod 755 /start.sh # copy in code ADD src/ /var/www/html/ ADD errors/ /var/www/errors EXPOSE 443 80 WORKDIR "/var/www/html" CMD ["/start.sh"] `
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
ric/nginx-php-fpm#299
No description provided.