Files
cms-client/Containerfile
Noa Virellia 0f8b07a05e
Some checks failed
Client Check Build (NixCN CMS) TeamCity build failed
feat: improve containerfile
Signed-off-by: Noa Virellia <noa@requiem.garden>
2026-02-18 12:02:22 +08:00

29 lines
652 B
Docker

FROM docker.io/node:22-alpine AS builder
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
ENV CI=true
# Enable corepack
RUN corepack enable
WORKDIR /app
# Install dependencies with caching
COPY package.json pnpm-lock.yaml ./
RUN --mount=type=cache,id=pnpm,target=/pnpm/store \
pnpm install --frozen-lockfile
# Build application
COPY . .
ARG VITE_APP_BASE_URL
ENV VITE_APP_BASE_URL=$VITE_APP_BASE_URL
RUN pnpm run build
# Production stage
FROM docker.io/caddy:2-alpine
COPY Caddyfile /etc/caddy/Caddyfile
COPY --from=builder /app/dist /srv
EXPOSE 3000
ENTRYPOINT ["caddy", "run", "--config", "/etc/caddy/Caddyfile", "--adapter", "caddyfile"]