34 lines
947 B
Docker
34 lines
947 B
Docker
FROM composer:2 AS composer
|
|
WORKDIR /app
|
|
COPY composer.json composer.lock ./
|
|
RUN composer install --no-dev --optimize-autoloader --no-scripts
|
|
|
|
FROM node:20-alpine AS node
|
|
WORKDIR /app
|
|
COPY package.json package-lock.json vite.config.js tailwind.config.js postcss.config.js ./
|
|
COPY resources/ ./resources/
|
|
RUN npm ci && npm run build
|
|
|
|
FROM php:8.2-fpm-alpine
|
|
WORKDIR /var/www/html
|
|
|
|
RUN docker-php-ext-install -j$(nproc) pdo_mysql
|
|
|
|
RUN apk add --no-cache mariadb-client
|
|
|
|
COPY php.ini /usr/local/etc/php/conf.d/99-overrides.ini
|
|
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
|
|
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
|
|
|
|
COPY --from=composer /app/vendor ./vendor
|
|
COPY --from=node /app/public/build ./public/build
|
|
|
|
COPY --chown=www-data:www-data . .
|
|
|
|
RUN mkdir -p storage/logs storage/framework/cache/data && \
|
|
chown -R www-data:www-data storage bootstrap/cache
|
|
|
|
USER www-data
|
|
|
|
ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
|