fix: swap Dockerfile builder stages to allow Vite to resolve vendor CSS
This commit is contained in:
20
Dockerfile
20
Dockerfile
@@ -1,12 +1,4 @@
|
|||||||
# 1. Node Builder Stage
|
# 1. Composer Builder Stage
|
||||||
FROM node:22-alpine AS node-builder
|
|
||||||
WORKDIR /app
|
|
||||||
COPY package.json package-lock.json ./
|
|
||||||
RUN npm ci
|
|
||||||
COPY ./ ./
|
|
||||||
RUN npm run build
|
|
||||||
|
|
||||||
# 2. Composer Builder Stage
|
|
||||||
FROM php:8.4-cli-alpine AS composer-builder
|
FROM php:8.4-cli-alpine AS composer-builder
|
||||||
RUN apk add --no-cache unzip
|
RUN apk add --no-cache unzip
|
||||||
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
|
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
|
||||||
@@ -17,6 +9,16 @@ RUN composer install --no-dev --no-scripts --no-autoloader --prefer-dist --ignor
|
|||||||
COPY ./ ./
|
COPY ./ ./
|
||||||
RUN composer dump-autoload --optimize --no-dev
|
RUN composer dump-autoload --optimize --no-dev
|
||||||
|
|
||||||
|
# 2. Node Builder Stage
|
||||||
|
FROM node:22-alpine AS node-builder
|
||||||
|
WORKDIR /app
|
||||||
|
COPY package.json package-lock.json ./
|
||||||
|
RUN npm ci
|
||||||
|
COPY ./ ./
|
||||||
|
# Copy vendor from composer-builder because Vite needs to process CSS from packages (e.g. livewire/flux)
|
||||||
|
COPY --from=composer-builder /app/vendor ./vendor
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
# 3. Production Stage
|
# 3. Production Stage
|
||||||
FROM php:8.4-fpm-alpine
|
FROM php:8.4-fpm-alpine
|
||||||
WORKDIR /var/www/html
|
WORKDIR /var/www/html
|
||||||
|
|||||||
Reference in New Issue
Block a user