# FROM node:18-alpine # # Installing libvips-dev for sharp Compatibility # RUN apk update && apk add --no-cache build-base gcc autoconf automake zlib-dev libpng-dev nasm bash vips-dev git # ARG NODE_ENV=development # ENV NODE_ENV=${NODE_ENV} # WORKDIR /opt/ # COPY ./packages/strapi/package.json ./packages/strapi/yarn.lock ./ # RUN yarn global add node-gyp # RUN yarn config set network-timeout 600000 -g && yarn install # ENV PATH /opt/node_modules/.bin:$PATH # WORKDIR /opt/app # COPY ./packages/strapi . # RUN chown -R node:node /opt/app # USER node # RUN ["yarn", "build"] # EXPOSE 1337 # CMD ["yarn", "dev"] FROM node:18.16-alpine as base RUN corepack enable # Installing libvips-dev for sharp Compatibility RUN apk update && apk add --no-cache build-base gcc autoconf automake zlib-dev libpng-dev nasm bash vips-dev ARG NODE_ENV=development ENV NODE_ENV=${NODE_ENV} WORKDIR /app FROM base AS build # COPY package.json pnpm-lock.yaml ./ COPY pnpm-lock.yaml ./ # RUN yarn config set network-timeout 600000 -g && yarn install # RUN pnpm install --frozen-lockfile RUN pnpm fetch COPY ./packages/strapi . RUN pnpm install --offline # ENV PATH=/app/node_modules/.bin:$PATH RUN chown -R node:node /app USER node # RUN pnpm run build # EXPOSE 1337 FROM build AS dev CMD ["pnpm", "run", "dev"] FROM build AS release CMD ["pnpm"] ENTRYPOINT ["run", "start"]