FROM php:8.4-fpm ARG UID=1000 ARG GID=1000 RUN apt update && apt install -y nginx git curl zip unzip supervisor libpq-dev libzip-dev libicu-dev \ && curl -fsSL https://deb.nodesource.com/setup_23.x -o nodesource_setup.sh \ && bash nodesource_setup.sh \ && apt install nodejs \ && pecl install xdebug \ && docker-php-ext-install pdo_pgsql \ && docker-php-ext-install zip \ && docker-php-ext-install bcmath \ && docker-php-ext-install intl \ && docker-php-ext-enable xdebug \ && usermod -u $UID www-data \ && groupmod -g $GID www-data \ && apt clean \ && rm -rf /var/lib/{apt,dpkg,cache,log}/ \ && apt clean autoclean \ && apt autoremove --yes WORKDIR /var/www/html COPY --from=composer:lts /usr/bin/composer /usr/local/bin/composer COPY composer.json composer.lock ./ RUN composer install --no-dev --prefer-dist --no-autoloader --optimize-autoloader && rm -rf /root/.composer/cache/* COPY nginx.conf /etc/nginx/sites-enabled/default COPY supervisord.conf /etc/supervisord.conf COPY entrypoint.sh /etc/entrypoint.sh COPY ./ ./ RUN chown -R www-data:www-data /var/www/html \ && composer dump-autoload \ && npm install \ && npm run build \ && npm cache clean --force \ && rm -rf node_modules\ && rm -rf /tmp/* /var/tmp/* EXPOSE 80 ENTRYPOINT [ "sh", "/etc/entrypoint.sh" ]