2023-09-21 03:01:47 +02:00
|
|
|
# --- Builder stage
|
|
|
|
|
FROM node:18-alpine as builder
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
2025-05-25 21:15:03 -07:00
|
|
|
# Copy package.json first to cache node_modules
|
2025-06-02 21:30:57 -07:00
|
|
|
COPY package.json pnpm-lock.yaml .
|
2025-05-25 21:15:03 -07:00
|
|
|
|
|
|
|
|
RUN pnpm install
|
|
|
|
|
|
|
|
|
|
# Copy code and build with cached modules
|
2024-02-24 07:55:23 +01:00
|
|
|
COPY . .
|
2025-05-25 21:15:03 -07:00
|
|
|
RUN pnpm run build:web
|
2023-09-21 03:01:47 +02:00
|
|
|
|
|
|
|
|
# --- Production stage
|
|
|
|
|
FROM nginx:alpine-slim
|
|
|
|
|
|
2023-10-18 05:10:53 +00:00
|
|
|
COPY --chown=nginx:nginx --from=builder /app/release/app/dist/web /usr/share/nginx/html
|
2024-02-24 07:55:23 +01:00
|
|
|
COPY ./settings.js.template /etc/nginx/templates/settings.js.template
|
2023-10-18 05:10:53 +00:00
|
|
|
COPY ng.conf.template /etc/nginx/templates/default.conf.template
|
2023-09-21 03:01:47 +02:00
|
|
|
|
2023-10-18 05:10:53 +00:00
|
|
|
ENV PUBLIC_PATH="/"
|
2023-09-21 03:01:47 +02:00
|
|
|
EXPOSE 9180
|
|
|
|
|
CMD ["nginx", "-g", "daemon off;"]
|