23 lines
625 B
Docker
23 lines
625 B
Docker
ARG NODE_BUILDER_IMAGE=docker.m.daocloud.io/library/node:22-alpine
|
|
ARG CADDY_BASE_IMAGE=docker.m.daocloud.io/library/caddy:2-alpine
|
|
|
|
FROM ${NODE_BUILDER_IMAGE} AS frontend-builder
|
|
|
|
WORKDIR /app/frontend
|
|
|
|
# 先安装依赖,利用 Docker 层缓存 / Install dependencies first for Docker cache
|
|
COPY frontend/package.json frontend/package-lock.json ./
|
|
RUN npm ci
|
|
|
|
COPY frontend ./
|
|
RUN npm run build
|
|
|
|
FROM ${CADDY_BASE_IMAGE}
|
|
|
|
COPY Caddyfile /etc/caddy/Caddyfile
|
|
COPY --from=frontend-builder /app/frontend/dist /usr/share/caddy
|
|
|
|
EXPOSE 80 443
|
|
|
|
CMD ["caddy", "run", "--config", "/etc/caddy/Caddyfile", "--adapter", "caddyfile"]
|