Files
zenithar/Dockerfile

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 \
&& 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" ]