28 lines
698 B
Docker
28 lines
698 B
Docker
FROM docker.io/node:22-alpine AS client-build
|
|
RUN npm install -g corepack && \
|
|
corepack enable
|
|
WORKDIR /app
|
|
ENV VITE_APP_BASE_URL=$CLIENT_BASE_URL
|
|
COPY . .
|
|
RUN cd /app/client && \
|
|
pnpm install -r --frozen-lockfile && \
|
|
pnpm run build
|
|
|
|
FROM docker.io/busybox:1.37 AS client
|
|
WORKDIR /app
|
|
COPY --from=client-build /app/client/dist .
|
|
EXPOSE 3000
|
|
ENTRYPOINT ["httpd", "-f", "-p", "3000", "-h", "/app", "-v"]
|
|
|
|
FROM docker.io/golang:1.25.5-alpine AS backend-build
|
|
WORKDIR /app
|
|
COPY . /app
|
|
RUN go mod tidy && \
|
|
go build -o /app/nixcn-cms
|
|
|
|
FROM docker.io/alpine:3.23 AS backend
|
|
WORKDIR /app
|
|
COPY --from=backend-build /app/nixcn-cms /app/nixcn-cms
|
|
EXPOSE 8000
|
|
ENTRYPOINT [ "/app/nixcn-cms" ]
|