27 lines
481 B
Docker
27 lines
481 B
Docker
FROM node:20-alpine AS build
|
|
|
|
WORKDIR /build
|
|
|
|
# install packages first
|
|
COPY package* .
|
|
RUN npm ci
|
|
|
|
# copy everything else and run the build
|
|
COPY . .
|
|
RUN npm run build
|
|
|
|
FROM busybox:1.37 AS httpd
|
|
|
|
# add user to run web server as
|
|
RUN adduser -D static
|
|
USER static
|
|
WORKDIR /home/static
|
|
|
|
# copy build files from the node worker
|
|
COPY --from=build /build/dist /home/static
|
|
|
|
EXPOSE 3000
|
|
# run httpd in foreground, verbose, on port 3000
|
|
CMD ["busybox", "httpd", "-f", "-v", "-p", "3000"]
|
|
|