Some checks failed
Client Check Build (NixCN CMS) TeamCity build failed
Signed-off-by: Noa Virellia <noa@requiem.garden>
29 lines
652 B
Docker
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"]
|