shipping/docker/php/base/Dockerfile
2025-01-14 22:09:35 +01:00

60 lines
2.1 KiB
Docker

FROM php:8.3-cli
RUN apt update -y && apt upgrade -y
RUN apt install -y --no-install-recommends \
libfreetype-dev \
libjpeg62-turbo-dev \
libpng-dev \
imagemagick \
libmagickwand-dev \
git \
zip unzip \
openssl libssl-dev libcurl4-openssl-dev \
autoconf zlib1g-dev \
python3 python3-venv python3-pip ghostscript\
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install -j$(nproc) gd
RUN pecl install redis
RUN docker-php-ext-install opcache
RUN docker-php-ext-install pdo pdo_mysql
RUN docker-php-ext-install mysqli
RUN docker-php-ext-install sockets
RUN docker-php-ext-install soap
RUN docker-php-ext-install intl
# https://github.com/viest/php-ext-xlswriter
RUN pecl install xlswriter
# https://dev.to/kakisoft/php-docker-how-to-enable-pcntlprocess-control-extensions-1afk
RUN docker-php-ext-configure pcntl --enable-pcntl && docker-php-ext-install pcntl
RUN pecl install apcu
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN rm -rf /var/cache/apt/lists
# Please refer to the README.md for updating these 2 files.
#COPY src/composer.json /tmp
#RUN cd /tmp && composer install && composer update --optimize-autoloader
#RUN mv /tmp/vendor /var/www/html
#RUN cp /tmp/composer.* /var/www/html
#RUN composer clear-cache
RUN curl -L https://github.com/roadrunner-server/roadrunner/releases/download/v2024.3.0/roadrunner-2024.3.0-linux-amd64.tar.gz -o /tmp/roadrunner.tar.gz \
&& tar -xvzf /tmp/roadrunner.tar.gz -C /tmp \
&& mv /tmp/roadrunner-2024.3.0-linux-amd64/rr /var/www/html/rr \
&& chmod +x /var/www/html/rr \
&& rm -rf /tmp/roadrunner.tar.gz /tmp/roadrunner-2024.3.0-linux-amd64
# Set PHP configurations for memory, execution time, and file upload sizes
RUN echo "memory_limit = 1024M" > /usr/local/etc/php/conf.d/custom-php-memlimit.ini; \
echo "max_execution_time = 500" > /usr/local/etc/php/conf.d/custom-php-time.ini; \
echo "post_max_size = 100M" > /usr/local/etc/php/conf.d/custom-php-size.ini;