37 lines
1.0 KiB
Docker
37 lines
1.0 KiB
Docker
# Use PHP 8.2 FPM Debian as base image
|
|
FROM serversideup/php:8.3-fpm-nginx AS base
|
|
|
|
# Switch to root so we can do root things
|
|
USER root
|
|
|
|
# Install the intl extension with root permissions
|
|
RUN install-php-extensions pdo_mysql mbstring exif pcntl bcmath gd intl zip xml curl redis
|
|
|
|
# Install JavaScript dependencies
|
|
ARG NODE_VERSION=20.18.0
|
|
ENV PATH=/usr/local/node/bin:$PATH
|
|
RUN curl -sL https://github.com/nodenv/node-build/archive/master.tar.gz | tar xz -C /tmp/ && \
|
|
/tmp/node-build-master/bin/node-build "${NODE_VERSION}" /usr/local/node && \
|
|
corepack enable && \
|
|
rm -rf /tmp/node-build-master
|
|
|
|
# Drop back to our unprivileged user
|
|
USER www-data
|
|
FROM base
|
|
|
|
# # Get latest Composer
|
|
# COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
|
|
|
|
# # Set working directory
|
|
# WORKDIR /var/www/html
|
|
|
|
COPY --chown=www-data:www-data ./ /var/www/html
|
|
|
|
ENV PHP_OPCACHE_ENABLE=1
|
|
|
|
RUN /usr/bin/composer install --no-interaction --prefer-dist --optimize-autoloader
|
|
|
|
RUN npm install --immutable && \
|
|
npm run build && \
|
|
rm -rf node_modules
|