diff --git a/packages/api/Dockerfile b/packages/api/Dockerfile index 2727fd217..377397b16 100644 --- a/packages/api/Dockerfile +++ b/packages/api/Dockerfile @@ -2,7 +2,6 @@ FROM node:14.18-alpine as builder WORKDIR /app -ENV NODE_ENV production ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true COPY package.json . @@ -14,7 +13,7 @@ COPY .eslintrc . COPY /packages/readabilityjs/package.json ./packages/readabilityjs/package.json COPY /packages/api/package.json ./packages/api/package.json -RUN yarn install --pure-lockfile --production +RUN yarn install --pure-lockfile ADD /packages/readabilityjs ./packages/readabilityjs ADD /packages/api ./packages/api @@ -22,7 +21,10 @@ ADD /packages/api ./packages/api RUN yarn RUN yarn workspace @omnivore/api build - +# After building, fetch the production dependencies +RUN rm -rf /app/packages/api/node_modules +RUN rm -rf /app/node_modules +RUN yarn install --pure-lockfile --production FROM node:14.18-alpine as runner @@ -39,7 +41,6 @@ COPY --from=builder /app/packages/api/node_modules /app/packages/api/node_module COPY --from=builder /app/node_modules /app/node_modules COPY --from=builder /app/package.json /app/package.json COPY --from=builder /app/packages/api/index_settings.json /app/packages/api/index_settings.json - EXPOSE 8080 CMD ["yarn", "workspace", "@omnivore/api", "start"] diff --git a/packages/api/package.json b/packages/api/package.json index 1871f9c8c..8e4a08657 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -36,27 +36,6 @@ "@sentry/integrations": "^6.19.1", "@sentry/node": "^5.26.0", "@sentry/tracing": "^5.26.0", - "@types/analytics-node": "^3.1.7", - "@types/bcryptjs": "^2.4.2", - "@types/chai": "^4.2.18", - "@types/chai-string": "^1.4.2", - "@types/cookie": "^0.4.0", - "@types/cookie-parser": "^1.4.2", - "@types/dompurify": "^2.0.4", - "@types/express": "^4.17.7", - "@types/highlightjs": "^9.12.2", - "@types/intercom-client": "^2.11.8", - "@types/jsdom": "^16.2.3", - "@types/jsonwebtoken": "^8.5.0", - "@types/luxon": "^1.25.0", - "@types/mocha": "^8.2.2", - "@types/nodemailer": "^6.4.4", - "@types/oauth": "^0.9.1", - "@types/sanitize-html": "^1.27.1", - "@types/supertest": "^2.0.11", - "@types/urlsafe-base64": "^1.0.28", - "@types/uuid": "^8.3.0", - "@types/voca": "^1.4.0", "analytics-node": "^6.0.0", "apollo-datasource": "^3.3.1", "apollo-server-express": "^3.6.3", @@ -106,10 +85,29 @@ "devDependencies": { "@babel/register": "^7.14.5", "@istanbuljs/nyc-config-typescript": "^1.0.2", - "@types/analytics-node": "^3.1.7", "@types/highlightjs": "^9.12.2", "@types/nanoid": "^3.0.0", "@types/private-ip": "^1.0.0", + "@types/analytics-node": "^3.1.7", + "@types/bcryptjs": "^2.4.2", + "@types/chai": "^4.2.18", + "@types/chai-string": "^1.4.2", + "@types/cookie": "^0.4.0", + "@types/cookie-parser": "^1.4.2", + "@types/dompurify": "^2.0.4", + "@types/express": "^4.17.7", + "@types/intercom-client": "^2.11.8", + "@types/jsdom": "^16.2.3", + "@types/jsonwebtoken": "^8.5.0", + "@types/luxon": "^1.25.0", + "@types/mocha": "^8.2.2", + "@types/nodemailer": "^6.4.4", + "@types/oauth": "^0.9.1", + "@types/sanitize-html": "^1.27.1", + "@types/supertest": "^2.0.11", + "@types/urlsafe-base64": "^1.0.28", + "@types/uuid": "^8.3.0", + "@types/voca": "^1.4.0", "chai": "^4.3.4", "chai-string": "^1.5.0", "circular-dependency-plugin": "^5.2.0",