From b4b96e04fc2cb71cf39ddad620d548db2d9e8d36 Mon Sep 17 00:00:00 2001 From: Ali Mihandoost Date: Sat, 10 Dec 2022 13:45:04 +0330 Subject: [PATCH] feat(publish-services): pwa dockerfile --- cloud/container/alwatr-pwa.dockerfile | 62 ++++++++++++++++++++++ cloud/container/alwatr-services.dockerfile | 3 +- 2 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 cloud/container/alwatr-pwa.dockerfile diff --git a/cloud/container/alwatr-pwa.dockerfile b/cloud/container/alwatr-pwa.dockerfile new file mode 100644 index 000000000..48514393c --- /dev/null +++ b/cloud/container/alwatr-pwa.dockerfile @@ -0,0 +1,62 @@ +ARG NODE_VERSION=19 +ARG NGINX_VERSION=1.0.0-1.23-alpine + +FROM docker.io/library/node:${NODE_VERSION}-alpine as builder + +WORKDIR /app + +# Install dependencies +COPY package.json *.lock ./ +RUN if [ -f *.lock ]; then \ + yarn install --frozen-lockfile --non-interactive; \ + else \ + yarn install --non-interactive; \ + fi; + +COPY . . + +# Reinstall to link internal packages +RUN yarn install --frozen-lockfile --non-interactive; + +# Build all ts files +RUN yarn build:ts; + +# Build target package +ARG PACKAGE_SOURCE +RUN set -ex;\ + if [ -z "${PACKAGE_SOURCE}" ]; then\ + echo 'PACKAGE_SOURCE not defined'>&2;\ + exit 1;\ + fi; +RUN set -ex;\ + cd "${PACKAGE_SOURCE}"; pwd; ls -lahF;\ + yarn build;\ + cd dist; pwd; ls -lahF; + +# Clean devDependencies +RUN set -ex;\ + pwd;\ + rm -rf node_modules;\ + yarn install --frozen-lockfile --non-interactive --production; + +# --- + +FROM ghcr.io/alimd/nginx:${NGINX_VERSION} as nginx + +EXPOSE 80 +# Config nginx template +ENV NGINX_ERROR_LOG_LEVEL=notice \ + NGINX_ACCESS_LOG="/var/log/nginx/access.log json" \ + NGINX_CLIENT_MAX_BODY_SIZE=10m \ + NGINX_SENDFILE=on \ + NGINX_TCP_NOPUSH=off \ + NGINX_TCP_NODELAY=on \ + NGINX_OPEN_FILE_CACHE_VALID=24h \ + NGINX_EXPIRES_HTML=epoch \ + NGINX_EXPIRES_STATIC=max \ + NGINX_EXPIRES_DEFAULT=5m + +# Copy builded files from last stage +ARG PACKAGE_SOURCE +COPY --from=builder /app/${PACKAGE_SOURCE}/dist/ ./ +RUN pwd; ls -lAhF; diff --git a/cloud/container/alwatr-services.dockerfile b/cloud/container/alwatr-services.dockerfile index 6417152f0..b022495ea 100644 --- a/cloud/container/alwatr-services.dockerfile +++ b/cloud/container/alwatr-services.dockerfile @@ -1,4 +1,5 @@ ARG NODE_VERSION=19 + FROM docker.io/library/node:${NODE_VERSION}-alpine as builder WORKDIR /app @@ -60,4 +61,4 @@ COPY --from=builder /app/node_modules/ ./node_modules/ # Copy builded files from last stage ARG PACKAGE_SOURCE COPY --from=builder /app/${PACKAGE_SOURCE}/dist/ ./ -RUN ls -lAhF +RUN pwd; ls -lAhF;