# --- Сборка фронтенда (Vite) --- FROM node:22-alpine AS assets WORKDIR /app COPY package.json package-lock.json ./ RUN npm ci COPY vite.config.js ./ COPY resources ./resources RUN npm run build # --- PHP-зависимости --- FROM serversideup/php:8.4-cli AS vendor WORKDIR /var/www/html COPY composer.json composer.lock ./ RUN composer install --no-dev --no-interaction --prefer-dist --no-scripts --no-autoloader # --- Итоговый образ: nginx + php-fpm --- FROM serversideup/php:8.4-fpm-nginx ENV PHP_OPCACHE_ENABLE=1 \ AUTORUN_ENABLED=true \ APP_ENV=production \ APP_DEBUG=false \ LOG_CHANNEL=stderr \ DB_CONNECTION=sqlite \ DB_DATABASE=/var/www/html/storage/database/database.sqlite WORKDIR /var/www/html COPY --chown=www-data:www-data --from=vendor /var/www/html/vendor ./vendor COPY --chown=www-data:www-data . . COPY --chown=www-data:www-data --from=assets /app/public/build ./public/build USER root COPY --chmod=755 docker/entrypoint.d/ /etc/entrypoint.d/ USER www-data RUN composer dump-autoload --optimize --no-dev EXPOSE 8080