Add prod Dockerfile

main
trivernis 3 months ago
parent 8c1f770ed9
commit f3cfe4aaa7
WARNING! Although there is a key with this ID in the database it does not verify this commit! This commit is SUSPICIOUS.
GPG Key ID: 7E6D18B61C8D2F4B

@ -1,9 +1,8 @@
.tmp/ .tmp/
.cache/ .cache/
.git/ .git/
.env
build/ build/
node_modules/ node_modules/
# Ignoring folders that might be used in starter templates .env
data/ data/
backup/ backup/

@ -1,28 +1,18 @@
# Creating multi-stage build for production FROM node:18-alpine
FROM node:18-alpine as build # Installing libvips-dev for sharp Compatibility
RUN apk update && apk add --no-cache build-base gcc autoconf automake zlib-dev libpng-dev vips-dev git > /dev/null 2>&1 RUN apk update && apk add --no-cache build-base gcc autoconf automake zlib-dev libpng-dev nasm bash vips-dev
ENV NODE_ENV=production ARG NODE_ENV=development
ENV NODE_ENV=${NODE_ENV}
WORKDIR /opt/ WORKDIR /opt/
COPY package.json yarn.lock ./ COPY package.json yarn.lock ./
RUN yarn global add node-gyp RUN yarn config set network-timeout 600000 -g && yarn install
RUN yarn config set network-timeout 600000 -g && yarn install --production
ENV PATH /opt/node_modules/.bin:$PATH
WORKDIR /opt/app
COPY . .
RUN yarn build
# Creating final production image
FROM node:18-alpine
RUN apk add --no-cache vips-dev
ENV NODE_ENV=production
WORKDIR /opt/
COPY --from=build /opt/node_modules ./node_modules
WORKDIR /opt/app WORKDIR /opt/app
COPY --from=build /opt/app ./ COPY . .
ENV PATH /opt/node_modules/.bin:$PATH ENV PATH /opt/node_modules/.bin:$PATH
RUN chown -R node:node /opt/app RUN chown -R node:node /opt/app
USER node USER node
RUN ["yarn", "build"]
EXPOSE 1337 EXPOSE 1337
CMD ["yarn", "start"] CMD ["yarn", "develop"]

@ -0,0 +1,29 @@
# Creating multi-stage build for production
FROM node:18-alpine as build
RUN apk update && apk add --no-cache build-base gcc autoconf automake zlib-dev libpng-dev vips-dev > /dev/null 2>&1
ARG NODE_ENV=production
ENV NODE_ENV=${NODE_ENV}
WORKDIR /opt/
COPY package.json yarn.lock ./
RUN yarn config set network-timeout 600000 -g && yarn install --production
ENV PATH /opt/node_modules/.bin:$PATH
WORKDIR /opt/app
COPY . .
RUN yarn build
# Creating final production image
FROM node:16-alpine
RUN apk add --no-cache vips-dev
ARG NODE_ENV=production
ENV NODE_ENV=${NODE_ENV}
WORKDIR /opt/
COPY --from=build /opt/node_modules ./node_modules
WORKDIR /opt/app
COPY --from=build /opt/app ./
ENV PATH /opt/node_modules/.bin:$PATH
RUN chown -R node:node /opt/app
USER node
EXPOSE 1337
CMD ["yarn", "start"]

17366
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -10,13 +10,13 @@
"strapi": "strapi", "strapi": "strapi",
"deploy": "strapi deploy" "deploy": "strapi deploy"
}, },
"devDependencies": {},
"dependencies": { "dependencies": {
"@strapi/plugin-cloud": "4.25.1", "@strapi/plugin-cloud": "4.25.1",
"@strapi/plugin-i18n": "4.25.1", "@strapi/plugin-i18n": "4.25.1",
"@strapi/plugin-users-permissions": "4.25.1", "@strapi/plugin-users-permissions": "4.25.1",
"@strapi/strapi": "4.25.1", "@strapi/strapi": "4.25.1",
"better-sqlite3": "8.6.0", "better-sqlite3": "8.6.0",
"pg": "^8.12.0",
"react": "^18.0.0", "react": "^18.0.0",
"react-dom": "^18.0.0", "react-dom": "^18.0.0",
"react-router-dom": "5.3.4", "react-router-dom": "5.3.4",

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save