2024-08-18 06:33:58 +07:00
|
|
|
FROM node:20-slim AS frontend
|
2024-08-17 04:55:01 +07:00
|
|
|
WORKDIR /app
|
|
|
|
|
|
|
|
ENV PNPM_HOME="/pnpm"
|
|
|
|
ENV PATH="$PNPM_HOME:$PATH"
|
|
|
|
RUN corepack enable
|
|
|
|
|
|
|
|
COPY package.json pnpm-lock.yaml ./
|
|
|
|
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
|
|
|
|
|
|
|
|
COPY . .
|
|
|
|
RUN pnpm run build
|
|
|
|
|
2024-08-18 06:33:58 +07:00
|
|
|
FROM golang:1.22.5 AS backend
|
2024-08-17 04:55:01 +07:00
|
|
|
WORKDIR /app
|
|
|
|
|
2024-08-18 06:33:58 +07:00
|
|
|
COPY backend/go.mod backend/go.sum ./
|
|
|
|
RUN go mod download
|
|
|
|
|
|
|
|
COPY backend/ ./
|
|
|
|
COPY --from=frontend /app/dist ./ui
|
|
|
|
RUN make
|
2024-08-17 04:55:01 +07:00
|
|
|
|
2024-08-18 06:33:58 +07:00
|
|
|
FROM scratch
|
2024-08-17 04:55:01 +07:00
|
|
|
|
2024-08-18 06:33:58 +07:00
|
|
|
COPY --from=backend /app/main /bin/main
|
2024-08-17 04:55:01 +07:00
|
|
|
|
2024-08-18 06:33:58 +07:00
|
|
|
CMD [ "/bin/main" ]
|