44 lines
1.3 KiB
Docker
44 lines
1.3 KiB
Docker
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" ]
|