diff --git a/Dockerfile b/Dockerfile index c5832f0..f8b3dca 100755 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # base # ---- -FROM node:20-bookworm-slim as base +FROM node:20-bookworm-slim AS base RUN corepack enable @@ -32,7 +32,7 @@ COPY --chown=node:node graphql.config.js . # api build # --------- -FROM base as api_build +FROM base AS api_build # If your api side build relies on build-time environment variables, # specify them here as ARGs. (But don't put secrets in your Dockerfile!) @@ -58,7 +58,7 @@ RUN yarn rw build api # web prerender build # ------------------- -FROM api_build as web_build_with_prerender +FROM api_build AS web_build_with_prerender ARG FIRST_NAME ARG LAST_NAME @@ -70,12 +70,14 @@ ARG API_ADDRESS_PROD ARG API_ADDRESS_DEV ARG APP_VERSION +ENV APP_VERSION=$APP_VERSION + COPY --chown=node:node web web RUN yarn rw build web # web build # --------- -FROM base as web_build +FROM base AS web_build ARG FIRST_NAME ARG LAST_NAME @@ -87,12 +89,14 @@ ARG API_ADDRESS_PROD ARG API_ADDRESS_DEV ARG APP_VERSION +ENV APP_VERSION=$APP_VERSION + COPY --chown=node:node web web RUN yarn rw build web --no-prerender # api serve # --------- -FROM node:20-bookworm-slim as api_serve +FROM node:20-bookworm-slim AS api_serve RUN corepack enable @@ -122,7 +126,10 @@ COPY --chown=node:node --from=api_build /home/node/app/api/dist /home/node/app/a COPY --chown=node:node --from=api_build /home/node/app/api/db /home/node/app/api/db COPY --chown=node:node --from=api_build /home/node/app/node_modules/.prisma /home/node/app/node_modules/.prisma +ARG APP_VERSION + ENV NODE_ENV=production +ENV APP_VERSION=$APP_VERSION # default api serve command # --------- @@ -135,7 +142,7 @@ CMD [ "./api/dist/server.js" ] # web serve # --------- -FROM node:20-bookworm-slim as web_serve +FROM node:20-bookworm-slim AS web_serve RUN corepack enable @@ -160,17 +167,17 @@ COPY --chown=node:node graphql.config.js . COPY --chown=node:node --from=web_build /home/node/app/web/dist /home/node/app/web/dist ARG APP_VERSION +ENV APP_VERSION=$APP_VERSION ENV NODE_ENV=production \ - API_PROXY_TARGET=http://api:8911 \ - APP_VERSION=${APP_VERSION} + API_PROXY_TARGET=http://api:8911 # We use the shell form here for variable expansion. CMD "node_modules/.bin/rw-web-server" "--api-proxy-target" "$API_PROXY_TARGET" # console # ------- -FROM base as console +FROM base AS console # To add more packages: #