26 lines
511 B
Docker
26 lines
511 B
Docker
FROM node:20-alpine AS frontend-stage
|
|
|
|
WORKDIR /app
|
|
RUN corepack enable
|
|
|
|
COPY frontend/package.json frontend/pnpm-lock.yaml ./
|
|
RUN --mount=type=cache,id=pnpm-store,target=/root/.pnpm-store \
|
|
pnpm install --frozen-lockfile
|
|
|
|
COPY frontend .
|
|
|
|
RUN pnpm build
|
|
|
|
FROM golang:1.23 AS build-stage
|
|
|
|
WORKDIR /app
|
|
ENV GOPROXY https://goproxy.cn,direct
|
|
|
|
COPY --from=frontend-stage /app/dist ./server/static/files
|
|
COPY . .
|
|
|
|
RUN go build -o app .
|
|
|
|
VOLUME /app/config
|
|
|
|
ENTRYPOINT ["/app/app", "-c", "./config/config.toml"] |