2025-01-18 03:31:37 +03:00
|
|
|
# build the application with node
|
2025-01-31 20:04:10 +00:00
|
|
|
FROM node:23.7.0 AS build
|
2025-01-18 03:31:37 +03:00
|
|
|
|
|
|
|
ARG WEBSITE_REPORT_URL
|
|
|
|
ARG WEBSITE_SOURCE_URL
|
|
|
|
ARG WEBSITE_APP_URL
|
|
|
|
ARG WEBSITE_API_URL
|
|
|
|
ARG WEBSITE_DOC_URL
|
|
|
|
|
|
|
|
ENV WEBSITE_REPORT_URL=$WEBSITE_REPORT_URL
|
|
|
|
ENV WEBSITE_SOURCE_URL=$WEBSITE_SOURCE_URL
|
|
|
|
ENV WEBSITE_APP_URL=$WEBSITE_APP_URL
|
|
|
|
ENV WEBSITE_API_URL=$WEBSITE_API_URL
|
|
|
|
ENV WEBSITE_DOC_URL=$WEBSITE_DOC_URL
|
2023-11-12 17:43:23 +03:00
|
|
|
|
|
|
|
WORKDIR /app
|
2024-10-06 17:30:25 +03:00
|
|
|
COPY . /app
|
2024-05-22 00:53:09 +03:00
|
|
|
|
2024-05-22 00:26:58 +03:00
|
|
|
RUN npm install && npm run build
|
2024-05-22 00:08:06 +03:00
|
|
|
|
2025-01-18 03:31:37 +03:00
|
|
|
# run it with bun (a lot faster)
|
|
|
|
FROM oven/bun:latest AS main
|
2024-05-22 00:08:06 +03:00
|
|
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
2025-01-18 03:31:37 +03:00
|
|
|
COPY --from=build /app/build ./build
|
|
|
|
COPY --from=build /app/package.json ./package.json
|
2024-05-22 00:08:06 +03:00
|
|
|
COPY --from=build /app/package-lock.json ./package-lock.json
|
|
|
|
|
2025-01-18 03:31:37 +03:00
|
|
|
RUN useradd runner -r -u 1001 -d /app
|
|
|
|
RUN chown -R runner:runner /app
|
|
|
|
|
|
|
|
USER runner
|
2024-05-22 00:26:58 +03:00
|
|
|
RUN bun install
|
2024-10-06 17:30:25 +03:00
|
|
|
|
2025-01-18 03:31:37 +03:00
|
|
|
EXPOSE 7001
|
|
|
|
|
|
|
|
ENV PORT=7001
|
2024-10-06 18:06:31 +03:00
|
|
|
CMD ["bun", "build/index.js"]
|