Signed-off-by: Noa Virellia <noa@requiem.garden>
This commit is contained in:
9
.dockerignore
Normal file
9
.dockerignore
Normal file
@@ -0,0 +1,9 @@
|
||||
README.md
|
||||
build
|
||||
dist
|
||||
node_modules
|
||||
LICENSE
|
||||
package-lock.json
|
||||
.git
|
||||
.DS_Store
|
||||
.env
|
||||
@@ -1,16 +1,28 @@
|
||||
FROM docker.io/node:22-alpine AS client-cms-build
|
||||
RUN apk add just
|
||||
RUN npm install -g corepack && \
|
||||
corepack enable
|
||||
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
|
||||
COPY . .
|
||||
RUN pnpm install
|
||||
RUN pnpm run build --outDir /app/dist
|
||||
RUN pnpm run build
|
||||
|
||||
# Production stage
|
||||
FROM docker.io/caddy:2-alpine
|
||||
COPY Caddyfile /etc/caddy/Caddyfile
|
||||
COPY --from=client-cms-build /app/dist /srv
|
||||
COPY --from=builder /app/dist /srv
|
||||
EXPOSE 3000
|
||||
ENTRYPOINT ["caddy", "run", "--config", "/etc/caddy/Caddyfile", "--adapter", "caddyfile"]
|
||||
|
||||
Reference in New Issue
Block a user