Files
Michess/Dockerfile
Kroonk e8c1e3539d
All checks were successful
Build & Push Docker Image to Gitea Registry / build-and-push (push) Successful in 2m44s
Slim Docker runtime image
2026-05-20 17:42:52 +02:00

52 lines
1.2 KiB
Docker

FROM node:lts-bookworm-slim AS build
ENV PNPM_HOME=/usr/local/bin
WORKDIR /opt/michess/
COPY . .
ARG NEXT_PUBLIC_API_URL=http://localhost:3001
ARG NEXT_PUBLIC_APP_URL=http://localhost:3000
ENV NEXT_PUBLIC_API_URL=$NEXT_PUBLIC_API_URL
ENV NEXT_PUBLIC_APP_URL=$NEXT_PUBLIC_APP_URL
RUN corepack enable && \
corepack prepare pnpm@9.15.9 --activate && \
pnpm config set store-dir /opt/michess/.pnpm-store && \
pnpm install --no-frozen-lockfile && \
pnpm build:server && \
pnpm build:client && \
rm -rf node_modules client/node_modules server/node_modules types/node_modules && \
pnpm install --prod --no-frozen-lockfile && \
pnpm store prune && \
rm -rf \
/opt/michess/.pnpm-store \
/root/.cache \
/tmp/* \
client/.next/cache \
client/src \
server/src \
.git \
.github \
.gitea
FROM node:lts-bookworm-slim
RUN apt-get update && \
apt-get install -y --no-install-recommends stockfish && \
rm -rf /var/lib/apt/lists/*
ENV NODE_ENV=production
ENV PNPM_HOME=/usr/local/bin
WORKDIR /opt/michess/
COPY --from=build /opt/michess/ ./
RUN corepack enable && corepack prepare pnpm@9.15.9 --activate
EXPOSE 3000 3001
CMD ["node", "scripts/start-production.mjs"]