FROM php:8.2-fpm-bullseye #debian ENV LC_ALL=C.UTF-8 RUN apt -y update ;\ apt -y install \ bzip2 zip unzip p7zip-full git rsync \ libmemcached-dev libcurl4-openssl-dev \ libicu-dev libjpeg-dev libpng-dev libwebp-dev libavif-dev libfreetype6-dev \ libzip-dev libxml2-dev libsqlite3-dev gosu build-essential; RUN debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \ docker-php-ext-configure gd --with-freetype --with-webp --with-avif --with-jpeg --with-png ; \ docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd; \ docker-php-ext-configure mysqli --with-mysqli=mysqlnd; \ docker-php-ext-install -j "$(nproc)" \ exif \ gd \ intl \ opcache \ sysvmsg \ sysvsem \ sysvshm \ pcntl \ pdo_mysql \ mysqli \ zip; RUN pecl install memcached ds; RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - && \ apt install -yq nodejs RUN npm install -g npm ARG XDEBUG=0 #xdebug RUN if [ "$XDEBUG" != "0" ]; then \ pecl install xdebug; \ docker-php-ext-enable xdebug; \ fi; # 환경 설정을 나누기 위해. RUN if [ "$XDEBUG" != "0" ]; then \ {\ echo "[xdebug]"; \ echo "xdebug.mode=profile"; \ echo "xdebug.profiler_append=1"; \ echo "xdebug.start_with_request=trigger"; \ echo "xdebug.trigger_value=XDEBUGPROFILE"; \ echo 'xdebug.output_dir="/var/www/html/sam/d_log"'; \ } >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini; \ fi; #from nextcloud setting RUN mkdir -p /var/www/html/; \ mkdir -p /var/www/.ssh; COPY entrypoint.sh /usr/local/bin/ COPY id_ecdsa known_hosts /var/www/.ssh/ VOLUME /var/www/html ARG UID=33 ARG GID=33 RUN if [ "$UID" != 33 ]; then \ usermod -u $UID -o www-data; \ fi; \ if [ "$GID" != 33 ]; then \ groupmod -g $GID -o www-data; \ fi; \ echo $UID > /var/tmp.txt ; \ chmod +x /usr/local/bin/entrypoint.sh; \ mkdir -p /var/www/opcache; \ chown -R www-data:www-data /var/www; \ chmod -R g=u /var/www; \ mkdir -p /var/www/.ssh; \ chown www-data:www-data /var/www/.ssh; \ chmod 700 /var/www/.ssh; \ chmod 600 /var/www/.ssh/*; COPY sam_conf.ini /usr/local/etc/php/conf.d/sam_conf.ini # SETUP PHP-FPM CONFIG SETTINGS (max_children / max_requests) 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 && \ echo 'request_terminate_timeout = 600' >> /usr/local/etc/php-fpm.d/zz-docker.conf ENTRYPOINT ["entrypoint.sh"] CMD ["php-fpm"]