Files
portfolio/Dockerfile

34 lines
632 B
Docker

ARG NODE_VERSION
ARG CADDY_VERSION
# --- BUILD ---
FROM node:${NODE_VERSION}-alpine AS build
RUN corepack enable && corepack prepare pnpm@latest --activate
ENV ASTRO_TELEMETRY_DISABLED=1
WORKDIR /app
# Copy depedencies
COPY package.json pnpm-lock.yaml ./
# Install pnpm with cache
RUN --mount=type=cache,id=pnpm,target=/pnpm/store \
PNPM_HOME="/pnpm" pnpm install --frozen-lockfile
# Copy all
COPY . .
# Check files
RUN pnpm run lint
RUN pnpm run check
# Build
RUN pnpm build
# --- DEPLOY ---
FROM caddy:${CADDY_VERSION}-alpine
COPY --from=build /app/dist /usr/share/caddy
COPY Caddyfile /etc/caddy/Caddyfile
EXPOSE 80