27 lines
679 B
Docker
27 lines
679 B
Docker
FROM docker.io/node:22-alpine AS client-cms-build
|
|
RUN apk add just -y
|
|
RUN npm install -g corepack && \
|
|
corepack enable
|
|
WORKDIR /app
|
|
ENV VITE_APP_BASE_URL=$CLIENT_BASE_URL
|
|
COPY . .
|
|
RUN just build-client-cms
|
|
|
|
FROM docker.io/busybox:1.37 AS client-cms
|
|
WORKDIR /app
|
|
COPY --from=client-build /app/.outputs/client/cms/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" ]
|