Files
zenithar/Dockerfile
2025-01-13 00:32:13 -03:00

50 lines
1.4 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; \
pecl install redis; \
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; \
docker-php-ext-enable pcntl; \
docker-php-ext-enable redis; \
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
USER www-data
RUN composer dump-autoload; \
npm install; \
npm run build; \
npm cache clean --force; \
rm -rf node_modules
USER root
RUN rm -rf /tmp/* /var/tmp/*
EXPOSE 80
ENTRYPOINT [ "sh", "/etc/entrypoint.sh" ]