initial commit
This commit is contained in:
+61
@@ -0,0 +1,61 @@
|
||||
FROM node:20-alpine AS node-build
|
||||
WORKDIR /app
|
||||
COPY package*.json ./
|
||||
RUN npm ci
|
||||
COPY . .
|
||||
RUN npm run build
|
||||
|
||||
|
||||
FROM php:8.2-cli-alpine AS composer
|
||||
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
|
||||
WORKDIR /app
|
||||
COPY composer.json composer.lock ./
|
||||
RUN composer install --no-dev --optimize-autoloader --no-scripts
|
||||
COPY . .
|
||||
RUN composer install --no-dev --optimize-autoloader
|
||||
|
||||
|
||||
FROM php:8.2-fpm-alpine AS ext-builder
|
||||
RUN apk add --no-cache \
|
||||
libpng-dev \
|
||||
libjpeg-turbo-dev \
|
||||
freetype-dev \
|
||||
libzip-dev \
|
||||
icu-dev \
|
||||
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
|
||||
&& docker-php-ext-install -j$(nproc) \
|
||||
pdo_mysql \
|
||||
gd \
|
||||
zip \
|
||||
intl \
|
||||
bcmath
|
||||
|
||||
|
||||
FROM php:8.2-fpm-alpine AS runtime
|
||||
|
||||
RUN apk add --no-cache \
|
||||
libpng \
|
||||
libjpeg-turbo \
|
||||
freetype \
|
||||
libzip \
|
||||
icu-libs \
|
||||
mariadb-client \
|
||||
su-exec
|
||||
|
||||
COPY --from=ext-builder /usr/local/lib/php/extensions/ /usr/local/lib/php/extensions/
|
||||
COPY --from=ext-builder /usr/local/etc/php/conf.d/docker-php-ext-*.ini /usr/local/etc/php/conf.d/
|
||||
|
||||
RUN addgroup -g 1001 -S app && adduser -S app -u 1001 -G app
|
||||
|
||||
WORKDIR /var/www/html
|
||||
|
||||
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
|
||||
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
|
||||
|
||||
COPY --chown=app:app . .
|
||||
|
||||
COPY --from=composer --chown=app:app /app/vendor ./vendor
|
||||
COPY --from=node-build --chown=app:app /app/public/build ./public/build
|
||||
|
||||
ENTRYPOINT ["docker-entrypoint.sh"]
|
||||
CMD ["php-fpm"]
|
||||
Reference in New Issue
Block a user