feat: improve containerfile
Some checks failed
Client Check Build (NixCN CMS) TeamCity build failed

Signed-off-by: Noa Virellia <noa@requiem.garden>
This commit is contained in:
2026-02-18 12:02:22 +08:00
parent 0a7d69e86b
commit 0f8b07a05e
2 changed files with 29 additions and 8 deletions

9
.dockerignore Normal file
View File

@@ -0,0 +1,9 @@
README.md
build
dist
node_modules
LICENSE
package-lock.json
.git
.DS_Store
.env

View File

@@ -1,16 +1,28 @@
FROM docker.io/node:22-alpine AS client-cms-build FROM docker.io/node:22-alpine AS builder
RUN apk add just
RUN npm install -g corepack && \ ENV PNPM_HOME="/pnpm"
corepack enable ENV PATH="$PNPM_HOME:$PATH"
ENV CI=true
# Enable corepack
RUN corepack enable
WORKDIR /app 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 ARG VITE_APP_BASE_URL
ENV VITE_APP_BASE_URL=$VITE_APP_BASE_URL ENV VITE_APP_BASE_URL=$VITE_APP_BASE_URL
COPY . . RUN pnpm run build
RUN pnpm install
RUN pnpm run build --outDir /app/dist
# Production stage
FROM docker.io/caddy:2-alpine FROM docker.io/caddy:2-alpine
COPY Caddyfile /etc/caddy/Caddyfile COPY Caddyfile /etc/caddy/Caddyfile
COPY --from=client-cms-build /app/dist /srv COPY --from=builder /app/dist /srv
EXPOSE 3000 EXPOSE 3000
ENTRYPOINT ["caddy", "run", "--config", "/etc/caddy/Caddyfile", "--adapter", "caddyfile"] ENTRYPOINT ["caddy", "run", "--config", "/etc/caddy/Caddyfile", "--adapter", "caddyfile"]