Attempt 2
This commit is contained in:
25
Dockerfile
25
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:
|
||||
#
|
||||
|
Reference in New Issue
Block a user