make next.dockerfile more lightweight
ci / build (push) Failing after 11s Details

This commit is contained in:
Chris Grimmett 2024-03-29 19:27:03 -08:00
parent 3408e7bcd3
commit a55661164b
7 changed files with 29 additions and 17 deletions

1
.nvmrc Normal file
View File

@ -0,0 +1 @@
lts/iron

View File

@ -1,3 +1,6 @@
## Important! Build context is the ROOT of the project.
## this keeps the door open for future possibility of shared code between pnpm workspace packages
FROM node:20-slim AS base
FROM base AS deps
@ -15,24 +18,27 @@ ENV NEXT_PUBLIC_SITE_URL ${NEXT_PUBLIC_SITE_URL}
ENV NEXT_PUBLIC_STRAPI_URL ${NEXT_PUBLIC_STRAPI_URL}
ENV NEXT_PUBLIC_UPPY_COMPANION_URL ${NEXT_PUBLIC_UPPY_COMPANION_URL}
ENV NEXT_TELEMETRY_DISABLED 1
COPY package.json pnpm-lock.yaml ./
RUN --mount=type=cache,id=pnpm-store,target=/pnpm/store pnpm install
COPY ./packages/next .
COPY pnpm-lock.yaml package.json ./
RUN pnpm fetch
RUN --mount=type=cache,id=pnpm-store,target=/pnpm/store pnpm install --offline
COPY ./packages/next /app
FROM deps AS dev
COPY --from=install /app /app
ENV NEXT_TELEMETRY_DISABLED 1
FROM install AS dev
CMD ["pnpm", "run", "dev"]
FROM install AS build
COPY --chown=node:node --from=install /app/package.json /app/pnpm-lock.yaml ./
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile
COPY --from=install /app /app
RUN echo "hello gitea"
RUN pnpm run build
FROM install AS build
RUN pnpm run build
# COPY --chown=node:node --from=install /app/package.json /app/pnpm-lock.yaml ./
# RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile
# COPY --from=install /app /app # i think this is duplicate
# can't get these to work because errors like "/prod/next/.next/standalone": not found
# as if pnpm is not copying the build artifacts.
# also this makes the build REALLY slow (adds ~10mins to build time)
# RUN pnpm deploy --filter=@futureporn/next --prod /prod/next
# RUN pnpm deploy --filter=@futureporn/link2cid --prod /prod/link2cid
# FROM deps as release
# # ENV NEXT_SHARP_PATH=/app/node_modules/sharp
@ -45,7 +51,7 @@ RUN pnpm run build
FROM install AS release
FROM deps AS next
RUN apt-get update && apt-get install -y -qq --no-install-recommends dumb-init
COPY --chown=node:node --from=build /app/package.json /app/pnpm-lock.yaml ./
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile
@ -55,4 +61,5 @@ COPY --chown=node:node --from=build /app/.next/static ./.next/static
ENV TZ=UTC
ENV NODE_ENV=production
ENV HOSTNAME="0.0.0.0"
CMD [ "dumb-init", "node", "server.js" ]
CMD [ "dumb-init", "node", "server.js" ]

1
packages/bot/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
node_modules

View File

@ -0,0 +1,3 @@
node_modules
.env
*~

View File

@ -1,5 +1,5 @@
{
"name": "link2cid",
"name": "@futureporn/link2cid",
"version": "3.2.0",
"description": "REST API for adding files to IPFS",
"main": "index.js",

View File

@ -1,5 +1,5 @@
{
"name": "fp-next",
"name": "@futureporn/next",
"version": "2.0.0",
"private": true,
"scripts": {

View File

@ -1,5 +1,5 @@
{
"name": "futureporn-strapi",
"name": "@futureporn/strapi",
"private": true,
"version": "0.1.0",
"description": "A Strapi application",