Docker tweaks and PDF width fix
All checks were successful
Publish Docker Image / Publish Docker Image (push) Successful in 4s
All checks were successful
Publish Docker Image / Publish Docker Image (push) Successful in 4s
This commit is contained in:
57
Dockerfile
57
Dockerfile
@@ -1,13 +1,9 @@
|
||||
# base
|
||||
# ----
|
||||
FROM node:lts-alpine AS base
|
||||
|
||||
RUN corepack enable
|
||||
ARG APP_VERSION=dev
|
||||
ENV APP_VERSION=${APP_VERSION}
|
||||
|
||||
# We tried to make the Dockerfile as lean as possible. In some cases, that means we excluded a dependency your project needs.
|
||||
# By far the most common is Python. If you're running into build errors because `python3` isn't available,
|
||||
# add `python3 make gcc \` before the `openssl \` line below and in other stages as necessary:
|
||||
RUN apk add openssl
|
||||
RUN apk add --no-cache openssl && corepack enable
|
||||
|
||||
USER node
|
||||
WORKDIR /home/node/app
|
||||
@@ -28,13 +24,8 @@ RUN --mount=type=cache,target=/home/node/.yarn/berry/cache,uid=1000 \
|
||||
COPY --chown=node:node redwood.toml .
|
||||
COPY --chown=node:node graphql.config.js .
|
||||
|
||||
# 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!)
|
||||
|
||||
ARG ADDRESS_PROD
|
||||
ARG ADDRESS_DEV
|
||||
ARG DOMAIN
|
||||
@@ -54,8 +45,6 @@ ARG APP_VERSION
|
||||
COPY --chown=node:node api api
|
||||
RUN yarn rw build api
|
||||
|
||||
# web prerender build
|
||||
# -------------------
|
||||
FROM api_build AS web_build_with_prerender
|
||||
|
||||
ARG FIRST_NAME
|
||||
@@ -68,13 +57,11 @@ ARG API_ADDRESS_PROD
|
||||
ARG API_ADDRESS_DEV
|
||||
ARG APP_VERSION
|
||||
|
||||
ENV APP_VERSION=$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
|
||||
|
||||
ARG FIRST_NAME
|
||||
@@ -87,18 +74,17 @@ ARG API_ADDRESS_PROD
|
||||
ARG API_ADDRESS_DEV
|
||||
ARG APP_VERSION
|
||||
|
||||
ENV APP_VERSION=$APP_VERSION
|
||||
ENV APP_VERSION=${APP_VERSION}
|
||||
|
||||
COPY --chown=node:node web web
|
||||
RUN yarn rw build web --no-prerender
|
||||
|
||||
# api serve
|
||||
# ---------
|
||||
FROM node:lts-alpine AS api_serve
|
||||
|
||||
RUN corepack enable
|
||||
RUN apk add --no-cache openssl && corepack enable
|
||||
|
||||
RUN apk add openssl
|
||||
RUN mkdir -p /home/node/app/api/files_prod \
|
||||
&& chown -R node:node /home/node/app/api/files_prod
|
||||
|
||||
USER node
|
||||
WORKDIR /home/node/app
|
||||
@@ -125,19 +111,10 @@ COPY --chown=node:node --from=api_build /home/node/app/node_modules/.prisma /hom
|
||||
ARG APP_VERSION
|
||||
|
||||
ENV NODE_ENV=production
|
||||
ENV APP_VERSION=$APP_VERSION
|
||||
|
||||
# default api serve command
|
||||
# ---------
|
||||
# If you are using a custom server file, you must use the following
|
||||
# command to launch your server instead of the default api-server below.
|
||||
# This is important if you intend to configure GraphQL to use Realtime.
|
||||
ENV APP_VERSION=${APP_VERSION}
|
||||
|
||||
CMD [ "./api/dist/server.js" ]
|
||||
# CMD [ "node_modules/.bin/rw-server", "api" ]
|
||||
|
||||
# web serve
|
||||
# ---------
|
||||
FROM node:lts-alpine AS web_serve
|
||||
|
||||
RUN corepack enable
|
||||
@@ -163,29 +140,15 @@ 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 APP_VERSION=${APP_VERSION}
|
||||
|
||||
ENV NODE_ENV=production \
|
||||
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
|
||||
|
||||
# To add more packages:
|
||||
#
|
||||
# ```
|
||||
# USER root
|
||||
#
|
||||
# RUN apt-get update && apt-get install -y \
|
||||
# curl
|
||||
#
|
||||
# USER node
|
||||
# ```
|
||||
|
||||
COPY --chown=node:node api api
|
||||
COPY --chown=node:node web web
|
||||
COPY --chown=node:node scripts scripts
|
||||
|
||||
Reference in New Issue
Block a user