36 lines
664 B
Docker
36 lines
664 B
Docker
FROM node:22 AS build-stage
|
|
|
|
# install simple http server for serving static content
|
|
RUN npm install -g http-server
|
|
|
|
WORKDIR /app
|
|
|
|
# Install dependencies
|
|
|
|
COPY package*.json ./
|
|
COPY ./frontend/package.json ./frontend/
|
|
|
|
RUN npm install --silent
|
|
|
|
# Build the frontend
|
|
|
|
# Root tsconfig.json
|
|
COPY tsconfig.json ./
|
|
COPY assets ./assets/
|
|
|
|
WORKDIR /app/frontend
|
|
|
|
COPY frontend ./
|
|
|
|
RUN npx vite build
|
|
|
|
FROM nginx:stable AS production-stage
|
|
|
|
COPY config/nginx/nginx.conf /etc/nginx/nginx.conf
|
|
|
|
COPY --from=build-stage /app/assets /usr/share/nginx/html/assets
|
|
COPY --from=build-stage /app/frontend/dist /usr/share/nginx/html
|
|
|
|
EXPOSE 8080
|
|
|
|
CMD ["nginx", "-g", "daemon off;"]
|