Files
exchange-2.0/docker-setup/Dockerfile

60 lines
2.1 KiB
Docker

FROM php:8.3-fpm
WORKDIR /var/www/html
# Install system dependencies
RUN apt-get update && apt-get install -y \
curl \
libfreetype6-dev \
libjpeg62-turbo-dev \
libpng-dev \
libzip-dev \
zip \
cron \
supervisor \
nano \
&& rm -rf /var/lib/apt/lists/*
# Install Xdebug (compatible with PHP 8.3)
RUN pecl install xdebug && docker-php-ext-enable xdebug
# Install PHP extensions
RUN docker-php-ext-install pdo pdo_mysql
RUN docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install -j$(nproc) gd \
&& docker-php-ext-install zip \
&& docker-php-ext-install bcmath
# Install Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
#NODEJS & NPM (OLD Before upgrade)
# RUN curl -sL https://deb.nodesource.com/setup_14.x | bash -
# RUN apt-get -y install nodejs
#NODEJS & NPM (Node 14 for x86_64 (amd64))
# RUN curl -fsSL https://nodejs.org/dist/v14.21.3/node-v14.21.3-linux-x64.tar.xz -o node.tar.xz \
# && tar -xJf node.tar.xz -C /usr/local --strip-components=1 \
# && rm node.tar.xz
# NODEJS & NPM (Node 14 for ARM64)
RUN curl -fsSL https://nodejs.org/dist/v14.21.3/node-v14.21.3-linux-arm64.tar.xz -o node.tar.xz \
&& tar -xJf node.tar.xz -C /usr/local --strip-components=1 \
&& rm node.tar.xz
# Set permissions
RUN chown -R www-data:www-data /var/www \
&& chmod 755 /var/www
# Configure Xdebug
RUN echo "xdebug.mode=debug" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "xdebug.start_with_request=yes" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "xdebug.client_host=host.docker.internal" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "xdebug.client_port=9002" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "xdebug.idekey=VSCODE" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
# Moved to docker-setup folder
# RUN echo 'pm.max_children = 15' >> /usr/local/etc/php-fpm.d/zz-docker.conf && \
# echo 'pm.max_requests = 500' >> /usr/local/etc/php-fpm.d/zz-docker.conf