@builderbot/cli 1.1.2-alpha.3 → 1.1.2-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/starters/apps/base-js-baileys-json/Dockerfile +4 -2
  2. package/dist/starters/apps/base-js-baileys-memory/Dockerfile +4 -2
  3. package/dist/starters/apps/base-js-baileys-mongo/Dockerfile +4 -2
  4. package/dist/starters/apps/base-js-baileys-mysql/Dockerfile +4 -2
  5. package/dist/starters/apps/base-js-baileys-postgres/Dockerfile +4 -2
  6. package/dist/starters/apps/base-js-meta-json/Dockerfile +4 -2
  7. package/dist/starters/apps/base-js-meta-memory/Dockerfile +4 -2
  8. package/dist/starters/apps/base-js-meta-mongo/Dockerfile +4 -2
  9. package/dist/starters/apps/base-js-meta-mysql/Dockerfile +4 -2
  10. package/dist/starters/apps/base-js-meta-postgres/Dockerfile +4 -2
  11. package/dist/starters/apps/base-js-twilio-json/Dockerfile +4 -2
  12. package/dist/starters/apps/base-js-twilio-memory/Dockerfile +4 -2
  13. package/dist/starters/apps/base-js-twilio-mongo/Dockerfile +4 -2
  14. package/dist/starters/apps/base-js-twilio-mysql/Dockerfile +4 -2
  15. package/dist/starters/apps/base-js-twilio-postgres/Dockerfile +4 -2
  16. package/dist/starters/apps/base-js-venom-json/Dockerfile +46 -19
  17. package/dist/starters/apps/base-js-venom-memory/Dockerfile +46 -19
  18. package/dist/starters/apps/base-js-venom-mongo/Dockerfile +46 -19
  19. package/dist/starters/apps/base-js-venom-mysql/Dockerfile +46 -19
  20. package/dist/starters/apps/base-js-venom-postgres/Dockerfile +46 -19
  21. package/dist/starters/apps/base-js-wppconnect-json/Dockerfile +46 -19
  22. package/dist/starters/apps/base-js-wppconnect-memory/Dockerfile +46 -19
  23. package/dist/starters/apps/base-js-wppconnect-mongo/Dockerfile +46 -19
  24. package/dist/starters/apps/base-js-wppconnect-mysql/Dockerfile +46 -19
  25. package/dist/starters/apps/base-js-wppconnect-postgres/Dockerfile +46 -19
  26. package/dist/starters/apps/base-ts-venom-json/Dockerfile +47 -21
  27. package/dist/starters/apps/base-ts-venom-memory/Dockerfile +47 -21
  28. package/dist/starters/apps/base-ts-venom-mongo/Dockerfile +47 -21
  29. package/dist/starters/apps/base-ts-venom-mysql/Dockerfile +47 -21
  30. package/dist/starters/apps/base-ts-venom-postgres/Dockerfile +47 -21
  31. package/dist/starters/apps/base-ts-wppconnect-json/Dockerfile +47 -21
  32. package/dist/starters/apps/base-ts-wppconnect-memory/Dockerfile +47 -21
  33. package/dist/starters/apps/base-ts-wppconnect-mongo/Dockerfile +47 -21
  34. package/dist/starters/apps/base-ts-wppconnect-mysql/Dockerfile +47 -21
  35. package/dist/starters/apps/base-ts-wppconnect-postgres/Dockerfile +47 -21
  36. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- # Image size ~ 330MB
1
+ # Image size ~ 400MB
2
2
  FROM node:21-alpine3.18 as builder
3
3
 
4
4
  WORKDIR /app
@@ -26,7 +26,9 @@ ARG PORT
26
26
  ENV PORT $PORT
27
27
  EXPOSE $PORT
28
28
 
29
- COPY --from=builder /app .
29
+ COPY --from=builder /app/assets ./assets
30
+ COPY --from=builder /app/dist ./dist
31
+ COPY --from=builder /app/*.json /app/*-lock.yaml ./
30
32
 
31
33
  RUN corepack enable && corepack prepare pnpm@latest --activate
32
34
  ENV PNPM_HOME=/usr/local/bin
@@ -1,4 +1,4 @@
1
- # Image size ~ 330MB
1
+ # Image size ~ 400MB
2
2
  FROM node:21-alpine3.18 as builder
3
3
 
4
4
  WORKDIR /app
@@ -26,7 +26,9 @@ ARG PORT
26
26
  ENV PORT $PORT
27
27
  EXPOSE $PORT
28
28
 
29
- COPY --from=builder /app .
29
+ COPY --from=builder /app/assets ./assets
30
+ COPY --from=builder /app/dist ./dist
31
+ COPY --from=builder /app/*.json /app/*-lock.yaml ./
30
32
 
31
33
  RUN corepack enable && corepack prepare pnpm@latest --activate
32
34
  ENV PNPM_HOME=/usr/local/bin
@@ -1,4 +1,4 @@
1
- # Image size ~ 330MB
1
+ # Image size ~ 400MB
2
2
  FROM node:21-alpine3.18 as builder
3
3
 
4
4
  WORKDIR /app
@@ -26,7 +26,9 @@ ARG PORT
26
26
  ENV PORT $PORT
27
27
  EXPOSE $PORT
28
28
 
29
- COPY --from=builder /app .
29
+ COPY --from=builder /app/assets ./assets
30
+ COPY --from=builder /app/dist ./dist
31
+ COPY --from=builder /app/*.json /app/*-lock.yaml ./
30
32
 
31
33
  RUN corepack enable && corepack prepare pnpm@latest --activate
32
34
  ENV PNPM_HOME=/usr/local/bin
@@ -1,4 +1,4 @@
1
- # Image size ~ 330MB
1
+ # Image size ~ 400MB
2
2
  FROM node:21-alpine3.18 as builder
3
3
 
4
4
  WORKDIR /app
@@ -26,7 +26,9 @@ ARG PORT
26
26
  ENV PORT $PORT
27
27
  EXPOSE $PORT
28
28
 
29
- COPY --from=builder /app .
29
+ COPY --from=builder /app/assets ./assets
30
+ COPY --from=builder /app/dist ./dist
31
+ COPY --from=builder /app/*.json /app/*-lock.yaml ./
30
32
 
31
33
  RUN corepack enable && corepack prepare pnpm@latest --activate
32
34
  ENV PNPM_HOME=/usr/local/bin
@@ -1,4 +1,4 @@
1
- # Image size ~ 330MB
1
+ # Image size ~ 400MB
2
2
  FROM node:21-alpine3.18 as builder
3
3
 
4
4
  WORKDIR /app
@@ -26,7 +26,9 @@ ARG PORT
26
26
  ENV PORT $PORT
27
27
  EXPOSE $PORT
28
28
 
29
- COPY --from=builder /app .
29
+ COPY --from=builder /app/assets ./assets
30
+ COPY --from=builder /app/dist ./dist
31
+ COPY --from=builder /app/*.json /app/*-lock.yaml ./
30
32
 
31
33
  RUN corepack enable && corepack prepare pnpm@latest --activate
32
34
  ENV PNPM_HOME=/usr/local/bin
@@ -1,4 +1,4 @@
1
- # Image size ~ 330MB
1
+ # Image size ~ 400MB
2
2
  FROM node:21-alpine3.18 as builder
3
3
 
4
4
  WORKDIR /app
@@ -26,7 +26,9 @@ ARG PORT
26
26
  ENV PORT $PORT
27
27
  EXPOSE $PORT
28
28
 
29
- COPY --from=builder /app .
29
+ COPY --from=builder /app/assets ./assets
30
+ COPY --from=builder /app/dist ./dist
31
+ COPY --from=builder /app/*.json /app/*-lock.yaml ./
30
32
 
31
33
  RUN corepack enable && corepack prepare pnpm@latest --activate
32
34
  ENV PNPM_HOME=/usr/local/bin
@@ -1,4 +1,4 @@
1
- # Image size ~ 330MB
1
+ # Image size ~ 400MB
2
2
  FROM node:21-alpine3.18 as builder
3
3
 
4
4
  WORKDIR /app
@@ -26,7 +26,9 @@ ARG PORT
26
26
  ENV PORT $PORT
27
27
  EXPOSE $PORT
28
28
 
29
- COPY --from=builder /app .
29
+ COPY --from=builder /app/assets ./assets
30
+ COPY --from=builder /app/dist ./dist
31
+ COPY --from=builder /app/*.json /app/*-lock.yaml ./
30
32
 
31
33
  RUN corepack enable && corepack prepare pnpm@latest --activate
32
34
  ENV PNPM_HOME=/usr/local/bin
@@ -1,4 +1,4 @@
1
- # Image size ~ 330MB
1
+ # Image size ~ 400MB
2
2
  FROM node:21-alpine3.18 as builder
3
3
 
4
4
  WORKDIR /app
@@ -26,7 +26,9 @@ ARG PORT
26
26
  ENV PORT $PORT
27
27
  EXPOSE $PORT
28
28
 
29
- COPY --from=builder /app .
29
+ COPY --from=builder /app/assets ./assets
30
+ COPY --from=builder /app/dist ./dist
31
+ COPY --from=builder /app/*.json /app/*-lock.yaml ./
30
32
 
31
33
  RUN corepack enable && corepack prepare pnpm@latest --activate
32
34
  ENV PNPM_HOME=/usr/local/bin
@@ -1,4 +1,4 @@
1
- # Image size ~ 330MB
1
+ # Image size ~ 400MB
2
2
  FROM node:21-alpine3.18 as builder
3
3
 
4
4
  WORKDIR /app
@@ -26,7 +26,9 @@ ARG PORT
26
26
  ENV PORT $PORT
27
27
  EXPOSE $PORT
28
28
 
29
- COPY --from=builder /app .
29
+ COPY --from=builder /app/assets ./assets
30
+ COPY --from=builder /app/dist ./dist
31
+ COPY --from=builder /app/*.json /app/*-lock.yaml ./
30
32
 
31
33
  RUN corepack enable && corepack prepare pnpm@latest --activate
32
34
  ENV PNPM_HOME=/usr/local/bin
@@ -1,4 +1,4 @@
1
- # Image size ~ 330MB
1
+ # Image size ~ 400MB
2
2
  FROM node:21-alpine3.18 as builder
3
3
 
4
4
  WORKDIR /app
@@ -26,7 +26,9 @@ ARG PORT
26
26
  ENV PORT $PORT
27
27
  EXPOSE $PORT
28
28
 
29
- COPY --from=builder /app .
29
+ COPY --from=builder /app/assets ./assets
30
+ COPY --from=builder /app/dist ./dist
31
+ COPY --from=builder /app/*.json /app/*-lock.yaml ./
30
32
 
31
33
  RUN corepack enable && corepack prepare pnpm@latest --activate
32
34
  ENV PNPM_HOME=/usr/local/bin
@@ -1,4 +1,4 @@
1
- # Image size ~ 330MB
1
+ # Image size ~ 400MB
2
2
  FROM node:21-alpine3.18 as builder
3
3
 
4
4
  WORKDIR /app
@@ -26,7 +26,9 @@ ARG PORT
26
26
  ENV PORT $PORT
27
27
  EXPOSE $PORT
28
28
 
29
- COPY --from=builder /app .
29
+ COPY --from=builder /app/assets ./assets
30
+ COPY --from=builder /app/dist ./dist
31
+ COPY --from=builder /app/*.json /app/*-lock.yaml ./
30
32
 
31
33
  RUN corepack enable && corepack prepare pnpm@latest --activate
32
34
  ENV PNPM_HOME=/usr/local/bin
@@ -1,4 +1,4 @@
1
- # Image size ~ 330MB
1
+ # Image size ~ 400MB
2
2
  FROM node:21-alpine3.18 as builder
3
3
 
4
4
  WORKDIR /app
@@ -26,7 +26,9 @@ ARG PORT
26
26
  ENV PORT $PORT
27
27
  EXPOSE $PORT
28
28
 
29
- COPY --from=builder /app .
29
+ COPY --from=builder /app/assets ./assets
30
+ COPY --from=builder /app/dist ./dist
31
+ COPY --from=builder /app/*.json /app/*-lock.yaml ./
30
32
 
31
33
  RUN corepack enable && corepack prepare pnpm@latest --activate
32
34
  ENV PNPM_HOME=/usr/local/bin
@@ -1,4 +1,4 @@
1
- # Image size ~ 330MB
1
+ # Image size ~ 400MB
2
2
  FROM node:21-alpine3.18 as builder
3
3
 
4
4
  WORKDIR /app
@@ -26,7 +26,9 @@ ARG PORT
26
26
  ENV PORT $PORT
27
27
  EXPOSE $PORT
28
28
 
29
- COPY --from=builder /app .
29
+ COPY --from=builder /app/assets ./assets
30
+ COPY --from=builder /app/dist ./dist
31
+ COPY --from=builder /app/*.json /app/*-lock.yaml ./
30
32
 
31
33
  RUN corepack enable && corepack prepare pnpm@latest --activate
32
34
  ENV PNPM_HOME=/usr/local/bin
@@ -1,4 +1,4 @@
1
- # Image size ~ 330MB
1
+ # Image size ~ 400MB
2
2
  FROM node:21-alpine3.18 as builder
3
3
 
4
4
  WORKDIR /app
@@ -26,7 +26,9 @@ ARG PORT
26
26
  ENV PORT $PORT
27
27
  EXPOSE $PORT
28
28
 
29
- COPY --from=builder /app .
29
+ COPY --from=builder /app/assets ./assets
30
+ COPY --from=builder /app/dist ./dist
31
+ COPY --from=builder /app/*.json /app/*-lock.yaml ./
30
32
 
31
33
  RUN corepack enable && corepack prepare pnpm@latest --activate
32
34
  ENV PNPM_HOME=/usr/local/bin
@@ -1,4 +1,4 @@
1
- # Image size ~ 330MB
1
+ # Image size ~ 400MB
2
2
  FROM node:21-alpine3.18 as builder
3
3
 
4
4
  WORKDIR /app
@@ -26,7 +26,9 @@ ARG PORT
26
26
  ENV PORT $PORT
27
27
  EXPOSE $PORT
28
28
 
29
- COPY --from=builder /app .
29
+ COPY --from=builder /app/assets ./assets
30
+ COPY --from=builder /app/dist ./dist
31
+ COPY --from=builder /app/*.json /app/*-lock.yaml ./
30
32
 
31
33
  RUN corepack enable && corepack prepare pnpm@latest --activate
32
34
  ENV PNPM_HOME=/usr/local/bin
@@ -1,38 +1,65 @@
1
- # Image size ~ 330MB
2
1
  FROM node:21-alpine3.18 as builder
3
2
 
4
- WORKDIR /app
3
+ RUN apk add --no-cache \
4
+ git \
5
+ python3 \
6
+ make \
7
+ g++ \
8
+ chromium \
9
+ nss \
10
+ freetype \
11
+ harfbuzz \
12
+ ca-certificates \
13
+ libpq-dev \
14
+ ttf-freefont \
15
+ udev
5
16
 
6
17
  RUN corepack enable && corepack prepare pnpm@latest --activate
7
18
  ENV PNPM_HOME=/usr/local/bin
8
19
 
20
+ RUN addgroup -S pptruser && adduser -S -G pptruser pptruser
21
+
22
+ WORKDIR /app
23
+ RUN chown -R pptruser:pptruser /app
24
+
25
+ USER pptruser
26
+
27
+ COPY package.json *-lock.* ./
28
+
29
+ RUN pnpm install --production=false
30
+
9
31
  COPY . .
10
32
 
11
- COPY package*.json *-lock.yaml ./
33
+ FROM node:21-alpine3.18
34
+
35
+ RUN apk add --no-cache \
36
+ chromium \
37
+ nss \
38
+ freetype \
39
+ harfbuzz \
40
+ ca-certificates \
41
+ libpq-dev \
42
+ ttf-freefont \
43
+ udev
12
44
 
13
- RUN apk add --no-cache --virtual .gyp \
14
- python3 \
15
- make \
16
- g++ \
17
- && apk add --no-cache git \
18
- && pnpm install \
19
- && apk del .gyp
45
+ RUN corepack enable && corepack prepare pnpm@latest --activate
46
+ ENV PNPM_HOME=/usr/local/bin
20
47
 
21
- FROM node:21-alpine3.18 as deploy
48
+ RUN addgroup -S pptruser && adduser -S -G pptruser pptruser
22
49
 
23
50
  WORKDIR /app
24
51
 
52
+ COPY --from=builder /app/dist ./dist
53
+ COPY --from=builder /app/package.json /app/pnpm-lock.yaml ./
54
+
55
+ RUN chown -R pptruser:pptruser /app
56
+
57
+ USER pptruser
58
+
25
59
  ARG PORT
26
60
  ENV PORT $PORT
27
61
  EXPOSE $PORT
28
62
 
29
- COPY --from=builder /app .
30
-
31
- RUN corepack enable && corepack prepare pnpm@latest --activate
32
- ENV PNPM_HOME=/usr/local/bin
33
-
34
- RUN npm cache clean --force && pnpm install --production --ignore-scripts \
35
- && addgroup -g 1001 -S nodejs && adduser -S -u 1001 nodejs \
36
- && rm -rf $PNPM_HOME/.npm $PNPM_HOME/.node-gyp
63
+ RUN pnpm install --production
37
64
 
38
65
  CMD ["npm", "start"]
@@ -1,38 +1,65 @@
1
- # Image size ~ 330MB
2
1
  FROM node:21-alpine3.18 as builder
3
2
 
4
- WORKDIR /app
3
+ RUN apk add --no-cache \
4
+ git \
5
+ python3 \
6
+ make \
7
+ g++ \
8
+ chromium \
9
+ nss \
10
+ freetype \
11
+ harfbuzz \
12
+ ca-certificates \
13
+ libpq-dev \
14
+ ttf-freefont \
15
+ udev
5
16
 
6
17
  RUN corepack enable && corepack prepare pnpm@latest --activate
7
18
  ENV PNPM_HOME=/usr/local/bin
8
19
 
20
+ RUN addgroup -S pptruser && adduser -S -G pptruser pptruser
21
+
22
+ WORKDIR /app
23
+ RUN chown -R pptruser:pptruser /app
24
+
25
+ USER pptruser
26
+
27
+ COPY package.json *-lock.* ./
28
+
29
+ RUN pnpm install --production=false
30
+
9
31
  COPY . .
10
32
 
11
- COPY package*.json *-lock.yaml ./
33
+ FROM node:21-alpine3.18
34
+
35
+ RUN apk add --no-cache \
36
+ chromium \
37
+ nss \
38
+ freetype \
39
+ harfbuzz \
40
+ ca-certificates \
41
+ libpq-dev \
42
+ ttf-freefont \
43
+ udev
12
44
 
13
- RUN apk add --no-cache --virtual .gyp \
14
- python3 \
15
- make \
16
- g++ \
17
- && apk add --no-cache git \
18
- && pnpm install \
19
- && apk del .gyp
45
+ RUN corepack enable && corepack prepare pnpm@latest --activate
46
+ ENV PNPM_HOME=/usr/local/bin
20
47
 
21
- FROM node:21-alpine3.18 as deploy
48
+ RUN addgroup -S pptruser && adduser -S -G pptruser pptruser
22
49
 
23
50
  WORKDIR /app
24
51
 
52
+ COPY --from=builder /app/dist ./dist
53
+ COPY --from=builder /app/package.json /app/pnpm-lock.yaml ./
54
+
55
+ RUN chown -R pptruser:pptruser /app
56
+
57
+ USER pptruser
58
+
25
59
  ARG PORT
26
60
  ENV PORT $PORT
27
61
  EXPOSE $PORT
28
62
 
29
- COPY --from=builder /app .
30
-
31
- RUN corepack enable && corepack prepare pnpm@latest --activate
32
- ENV PNPM_HOME=/usr/local/bin
33
-
34
- RUN npm cache clean --force && pnpm install --production --ignore-scripts \
35
- && addgroup -g 1001 -S nodejs && adduser -S -u 1001 nodejs \
36
- && rm -rf $PNPM_HOME/.npm $PNPM_HOME/.node-gyp
63
+ RUN pnpm install --production
37
64
 
38
65
  CMD ["npm", "start"]
@@ -1,38 +1,65 @@
1
- # Image size ~ 330MB
2
1
  FROM node:21-alpine3.18 as builder
3
2
 
4
- WORKDIR /app
3
+ RUN apk add --no-cache \
4
+ git \
5
+ python3 \
6
+ make \
7
+ g++ \
8
+ chromium \
9
+ nss \
10
+ freetype \
11
+ harfbuzz \
12
+ ca-certificates \
13
+ libpq-dev \
14
+ ttf-freefont \
15
+ udev
5
16
 
6
17
  RUN corepack enable && corepack prepare pnpm@latest --activate
7
18
  ENV PNPM_HOME=/usr/local/bin
8
19
 
20
+ RUN addgroup -S pptruser && adduser -S -G pptruser pptruser
21
+
22
+ WORKDIR /app
23
+ RUN chown -R pptruser:pptruser /app
24
+
25
+ USER pptruser
26
+
27
+ COPY package.json *-lock.* ./
28
+
29
+ RUN pnpm install --production=false
30
+
9
31
  COPY . .
10
32
 
11
- COPY package*.json *-lock.yaml ./
33
+ FROM node:21-alpine3.18
34
+
35
+ RUN apk add --no-cache \
36
+ chromium \
37
+ nss \
38
+ freetype \
39
+ harfbuzz \
40
+ ca-certificates \
41
+ libpq-dev \
42
+ ttf-freefont \
43
+ udev
12
44
 
13
- RUN apk add --no-cache --virtual .gyp \
14
- python3 \
15
- make \
16
- g++ \
17
- && apk add --no-cache git \
18
- && pnpm install \
19
- && apk del .gyp
45
+ RUN corepack enable && corepack prepare pnpm@latest --activate
46
+ ENV PNPM_HOME=/usr/local/bin
20
47
 
21
- FROM node:21-alpine3.18 as deploy
48
+ RUN addgroup -S pptruser && adduser -S -G pptruser pptruser
22
49
 
23
50
  WORKDIR /app
24
51
 
52
+ COPY --from=builder /app/dist ./dist
53
+ COPY --from=builder /app/package.json /app/pnpm-lock.yaml ./
54
+
55
+ RUN chown -R pptruser:pptruser /app
56
+
57
+ USER pptruser
58
+
25
59
  ARG PORT
26
60
  ENV PORT $PORT
27
61
  EXPOSE $PORT
28
62
 
29
- COPY --from=builder /app .
30
-
31
- RUN corepack enable && corepack prepare pnpm@latest --activate
32
- ENV PNPM_HOME=/usr/local/bin
33
-
34
- RUN npm cache clean --force && pnpm install --production --ignore-scripts \
35
- && addgroup -g 1001 -S nodejs && adduser -S -u 1001 nodejs \
36
- && rm -rf $PNPM_HOME/.npm $PNPM_HOME/.node-gyp
63
+ RUN pnpm install --production
37
64
 
38
65
  CMD ["npm", "start"]
@@ -1,38 +1,65 @@
1
- # Image size ~ 330MB
2
1
  FROM node:21-alpine3.18 as builder
3
2
 
4
- WORKDIR /app
3
+ RUN apk add --no-cache \
4
+ git \
5
+ python3 \
6
+ make \
7
+ g++ \
8
+ chromium \
9
+ nss \
10
+ freetype \
11
+ harfbuzz \
12
+ ca-certificates \
13
+ libpq-dev \
14
+ ttf-freefont \
15
+ udev
5
16
 
6
17
  RUN corepack enable && corepack prepare pnpm@latest --activate
7
18
  ENV PNPM_HOME=/usr/local/bin
8
19
 
20
+ RUN addgroup -S pptruser && adduser -S -G pptruser pptruser
21
+
22
+ WORKDIR /app
23
+ RUN chown -R pptruser:pptruser /app
24
+
25
+ USER pptruser
26
+
27
+ COPY package.json *-lock.* ./
28
+
29
+ RUN pnpm install --production=false
30
+
9
31
  COPY . .
10
32
 
11
- COPY package*.json *-lock.yaml ./
33
+ FROM node:21-alpine3.18
34
+
35
+ RUN apk add --no-cache \
36
+ chromium \
37
+ nss \
38
+ freetype \
39
+ harfbuzz \
40
+ ca-certificates \
41
+ libpq-dev \
42
+ ttf-freefont \
43
+ udev
12
44
 
13
- RUN apk add --no-cache --virtual .gyp \
14
- python3 \
15
- make \
16
- g++ \
17
- && apk add --no-cache git \
18
- && pnpm install \
19
- && apk del .gyp
45
+ RUN corepack enable && corepack prepare pnpm@latest --activate
46
+ ENV PNPM_HOME=/usr/local/bin
20
47
 
21
- FROM node:21-alpine3.18 as deploy
48
+ RUN addgroup -S pptruser && adduser -S -G pptruser pptruser
22
49
 
23
50
  WORKDIR /app
24
51
 
52
+ COPY --from=builder /app/dist ./dist
53
+ COPY --from=builder /app/package.json /app/pnpm-lock.yaml ./
54
+
55
+ RUN chown -R pptruser:pptruser /app
56
+
57
+ USER pptruser
58
+
25
59
  ARG PORT
26
60
  ENV PORT $PORT
27
61
  EXPOSE $PORT
28
62
 
29
- COPY --from=builder /app .
30
-
31
- RUN corepack enable && corepack prepare pnpm@latest --activate
32
- ENV PNPM_HOME=/usr/local/bin
33
-
34
- RUN npm cache clean --force && pnpm install --production --ignore-scripts \
35
- && addgroup -g 1001 -S nodejs && adduser -S -u 1001 nodejs \
36
- && rm -rf $PNPM_HOME/.npm $PNPM_HOME/.node-gyp
63
+ RUN pnpm install --production
37
64
 
38
65
  CMD ["npm", "start"]
@@ -1,38 +1,65 @@
1
- # Image size ~ 330MB
2
1
  FROM node:21-alpine3.18 as builder
3
2
 
4
- WORKDIR /app
3
+ RUN apk add --no-cache \
4
+ git \
5
+ python3 \
6
+ make \
7
+ g++ \
8
+ chromium \
9
+ nss \
10
+ freetype \
11
+ harfbuzz \
12
+ ca-certificates \
13
+ libpq-dev \
14
+ ttf-freefont \
15
+ udev
5
16
 
6
17
  RUN corepack enable && corepack prepare pnpm@latest --activate
7
18
  ENV PNPM_HOME=/usr/local/bin
8
19
 
20
+ RUN addgroup -S pptruser && adduser -S -G pptruser pptruser
21
+
22
+ WORKDIR /app
23
+ RUN chown -R pptruser:pptruser /app
24
+
25
+ USER pptruser
26
+
27
+ COPY package.json *-lock.* ./
28
+
29
+ RUN pnpm install --production=false
30
+
9
31
  COPY . .
10
32
 
11
- COPY package*.json *-lock.yaml ./
33
+ FROM node:21-alpine3.18
34
+
35
+ RUN apk add --no-cache \
36
+ chromium \
37
+ nss \
38
+ freetype \
39
+ harfbuzz \
40
+ ca-certificates \
41
+ libpq-dev \
42
+ ttf-freefont \
43
+ udev
12
44
 
13
- RUN apk add --no-cache --virtual .gyp \
14
- python3 \
15
- make \
16
- g++ \
17
- && apk add --no-cache git \
18
- && pnpm install \
19
- && apk del .gyp
45
+ RUN corepack enable && corepack prepare pnpm@latest --activate
46
+ ENV PNPM_HOME=/usr/local/bin
20
47
 
21
- FROM node:21-alpine3.18 as deploy
48
+ RUN addgroup -S pptruser && adduser -S -G pptruser pptruser
22
49
 
23
50
  WORKDIR /app
24
51
 
52
+ COPY --from=builder /app/dist ./dist
53
+ COPY --from=builder /app/package.json /app/pnpm-lock.yaml ./
54
+
55
+ RUN chown -R pptruser:pptruser /app
56
+
57
+ USER pptruser
58
+
25
59
  ARG PORT
26
60
  ENV PORT $PORT
27
61
  EXPOSE $PORT
28
62
 
29
- COPY --from=builder /app .
30
-
31
- RUN corepack enable && corepack prepare pnpm@latest --activate
32
- ENV PNPM_HOME=/usr/local/bin
33
-
34
- RUN npm cache clean --force && pnpm install --production --ignore-scripts \
35
- && addgroup -g 1001 -S nodejs && adduser -S -u 1001 nodejs \
36
- && rm -rf $PNPM_HOME/.npm $PNPM_HOME/.node-gyp
63
+ RUN pnpm install --production
37
64
 
38
65
  CMD ["npm", "start"]