forked from julianpoy/RecipeSage
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproduction.Dockerfile
More file actions
50 lines (37 loc) · 1.22 KB
/
Copy pathproduction.Dockerfile
File metadata and controls
50 lines (37 loc) · 1.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
FROM node:24.13-alpine
WORKDIR /app
# prisma
RUN apk add --no-cache openssl
# mdbtools
RUN apk add --no-cache mdbtools mdbtools-utils
# pdftotext
RUN apk add --no-cache poppler-utils
# pandoc (rtf/odt/docx text extraction)
RUN apk add --no-cache pandoc
# dev watch script
RUN apk add --no-cache inotify-tools
RUN corepack enable
COPY .npmrc .npmrc
COPY pnpm-lock.yaml pnpm-lock.yaml
COPY package.json package.json
RUN --mount=type=cache,target=/root/.local/share/pnpm/store pnpm install --frozen-lockfile
COPY .prettierignore .prettierignore
COPY .prettierrc.json .prettierrc.json
COPY .nvmrc .nvmrc
COPY tsconfig.base.json tsconfig.base.json
COPY nx.json nx.json
COPY prisma.config.ts prisma.config.ts
COPY packages packages
COPY scripts scripts
COPY fonts fonts
# Prisma must be regenerated since schema is not present during install stage
RUN pnpm exec prisma generate
RUN pnpm exec nx run-many -t build -p backend,queue-worker,cli --parallel=3
ARG VERSION
ENV VERSION=$VERSION
ENV NX_SKIP_NX_CACHE=true
ENV NX_NO_CLOUD=true
ENV FONTS_PATH=/app/fonts
ENV EXPRESS_VIEWS_PATH=/app/dist/apps/backend/views
ENV FRONTEND_I18N_PATH=/app/packages/frontend/src/assets/i18n
ENV JOB_QUEUE_WORKER_PATH=/app/dist/apps/queue-worker/worker.cjs