Merge pull request #4150 from pinjeff/docker-build

Reduce final docker image size
This commit is contained in:
advplyr
2025-05-12 15:20:51 -05:00
committed by GitHub
2 changed files with 20 additions and 11 deletions

View File

@@ -1,29 +1,25 @@
### STAGE 0: Build client ###
FROM node:20-alpine AS build
FROM node:20-alpine AS build-client
WORKDIR /client
COPY /client /client
RUN npm ci && npm cache clean --force
RUN npm run generate
### STAGE 1: Build server ###
FROM node:20-alpine
FROM node:20-alpine AS build-server
ENV NODE_ENV=production
RUN apk update && \
apk add --no-cache --update \
RUN apk add --no-cache --update \
curl \
tzdata \
ffmpeg \
make \
python3 \
g++ \
tini \
unzip
COPY --from=build /client/dist /client/dist
COPY index.js package* /
COPY server server
WORKDIR /server
COPY index.js package* /server
COPY /server /server/server
ARG TARGETPLATFORM
@@ -42,7 +38,20 @@ RUN case "$TARGETPLATFORM" in \
RUN npm ci --only=production
RUN apk del make python3 g++
### STAGE 2: Create minimal runtime image ###
FROM node:20-alpine
# Install only runtime dependencies
RUN apk add --no-cache --update \
tzdata \
ffmpeg \
tini
WORKDIR /app
# Copy compiled frontend and server from build stages
COPY --from=build-client /client/dist /app/client/dist
COPY --from=build-server /server /app
EXPOSE 80

0
tailwind.config.js Normal file
View File