Docker images / prepare-release (push) Successful in 6s
Docker images / backend-image (push) Successful in 1m45s
Docker images / frontend-image (push) Successful in 1m37s
Docker images / updater-image (push) Successful in 37s
Docker images / notify-webhook (push) Has been skipped
Docker images / publish-release (push) Successful in 6s
- Replaced the public directory creation step with a direct copy in the Dockerfile for improved build efficiency. - Enhanced the compute-release script to retrieve all tags and manage release manifests more effectively, including better handling of published timestamps and commit details. - Updated the ReleasesPage component to conditionally format the published date based on the build type, improving user clarity on release status.
48 lines
1.5 KiB
Docker
48 lines
1.5 KiB
Docker
# syntax=docker/dockerfile:1
|
|
|
|
FROM node:22-bookworm-slim AS deps
|
|
WORKDIR /app
|
|
ENV npm_config_ignore_scripts=true
|
|
COPY package.json package-lock.json ./
|
|
COPY packages/contracts/package.json packages/contracts/
|
|
RUN npm ci --workspace=@mmapp/contracts --include-workspace-root --ignore-scripts
|
|
|
|
FROM deps AS build
|
|
ARG BACKEND_INTERNAL_URL=http://backend:8000
|
|
ARG NEXT_PUBLIC_BACKEND_URL=same-origin
|
|
ARG NEXT_PUBLIC_DEFAULT_DATA_SOURCE=live
|
|
ARG NEXT_PUBLIC_ALLOW_MOCK_DATA=false
|
|
ARG NEXT_PUBLIC_APP_VERSION=dev
|
|
ARG NEXT_PUBLIC_RELEASE_URL=
|
|
ENV BACKEND_INTERNAL_URL=$BACKEND_INTERNAL_URL
|
|
ENV NEXT_PUBLIC_BACKEND_URL=$NEXT_PUBLIC_BACKEND_URL
|
|
ENV NEXT_PUBLIC_DEFAULT_DATA_SOURCE=$NEXT_PUBLIC_DEFAULT_DATA_SOURCE
|
|
ENV NEXT_PUBLIC_ALLOW_MOCK_DATA=$NEXT_PUBLIC_ALLOW_MOCK_DATA
|
|
ENV NEXT_PUBLIC_APP_VERSION=$NEXT_PUBLIC_APP_VERSION
|
|
ENV NEXT_PUBLIC_RELEASE_URL=$NEXT_PUBLIC_RELEASE_URL
|
|
COPY packages/contracts packages/contracts
|
|
COPY next.config.ts tsconfig.json postcss.config.mjs components.json ./
|
|
COPY app app
|
|
COPY components components
|
|
COPY lib lib
|
|
COPY shared shared
|
|
COPY entities entities
|
|
COPY public public
|
|
COPY hooks hooks
|
|
ENV NEXT_TELEMETRY_DISABLED=1
|
|
RUN npm run build -w @mmapp/contracts \
|
|
&& npm run build \
|
|
&& npm prune --omit=dev
|
|
|
|
FROM node:22-bookworm-slim AS runner
|
|
WORKDIR /app
|
|
ENV NODE_ENV=production
|
|
ENV NEXT_TELEMETRY_DISABLED=1
|
|
ENV HOSTNAME=0.0.0.0
|
|
ENV PORT=3000
|
|
COPY --from=build /app/public ./public
|
|
COPY --from=build /app/.next/standalone ./
|
|
COPY --from=build /app/.next/static ./.next/static
|
|
EXPOSE 3000
|
|
CMD ["node", "server.js"]
|