Files
classroomio/docker/Dockerfile.dashboard
T
1ed12622ab fix(dashboard): fix build error for analytics traffic chart (#931)
* convert areachart to working barchart in trend-chart.svelte and fixed empty data issue on browser reload stats/ pages

* fix: remove `patches` copy script from dockerfiles as patches no longer exist, to allow build

---------

Co-authored-by: richarddkenneth <[email protected]>
Co-authored-by: Rotimi Best <[email protected]>
2026-08-19 10:07:01 +01:00

37 lines
1021 B
Docker

FROM node:20.19.3-slim
WORKDIR /app
ENV CI=true
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
ARG PUBLIC_IS_SELFHOSTED=true
RUN corepack enable && corepack prepare [email protected] --activate
# Fetch deps from the lockfile first (cached unless pnpm-lock.yaml changes); the
# store is baked into this layer and reused by the offline install below.
COPY pnpm-lock.yaml ./
RUN pnpm fetch --store-dir /pnpm/store
COPY . .
RUN pnpm install --offline --frozen-lockfile --ignore-scripts \
--store-dir /pnpm/store --filter @cio/dashboard...
RUN find . -name 'tsconfig.tsbuildinfo' -delete
RUN NODE_OPTIONS="--max-old-space-size=8072" \
PUBLIC_IS_SELFHOSTED="${PUBLIC_IS_SELFHOSTED}" \
pnpm -r --filter @cio/dashboard... build
RUN test -f apps/dashboard/build/index.js || (echo "ERROR: Dashboard build output not found at apps/dashboard/build/index.js" && exit 1)
EXPOSE 3000
ENV NODE_ENV=production \
PORT=3000 \
PUBLIC_IS_SELFHOSTED=true
WORKDIR /app/apps/dashboard
CMD ["node", "build/index.js"]