@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,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"]
@@ -1,40 +1,66 @@
1
- # Image size ~ 400MB
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 . .
32
+ RUN pnpm run build
10
33
 
11
- COPY package*.json *-lock.yaml ./
34
+ FROM node:21-alpine3.18
12
35
 
13
- RUN apk add --no-cache --virtual .gyp \
14
- python3 \
15
- make \
16
- g++ \
17
- && apk add --no-cache git \
18
- && pnpm install && pnpm run build \
19
- && apk del .gyp
36
+ RUN apk add --no-cache \
37
+ chromium \
38
+ nss \
39
+ freetype \
40
+ harfbuzz \
41
+ ca-certificates \
42
+ libpq-dev \
43
+ ttf-freefont \
44
+ udev
45
+
46
+ RUN corepack enable && corepack prepare pnpm@latest --activate
47
+ ENV PNPM_HOME=/usr/local/bin
20
48
 
21
- FROM node:21-alpine3.18 as deploy
49
+ RUN addgroup -S pptruser && adduser -S -G pptruser pptruser
22
50
 
23
51
  WORKDIR /app
24
52
 
53
+ COPY --from=builder /app/dist ./dist
54
+ COPY --from=builder /app/package.json /app/pnpm-lock.yaml ./
55
+
56
+ RUN chown -R pptruser:pptruser /app
57
+
58
+ USER pptruser
59
+
25
60
  ARG PORT
26
61
  ENV PORT $PORT
27
62
  EXPOSE $PORT
28
63
 
29
- COPY --from=builder /app/assets ./assets
30
- COPY --from=builder /app/dist ./dist
31
- COPY --from=builder /app/*.json /app/*-lock.yaml ./
32
-
33
- RUN corepack enable && corepack prepare pnpm@latest --activate
34
- ENV PNPM_HOME=/usr/local/bin
35
-
36
- RUN npm cache clean --force && pnpm install --production --ignore-scripts \
37
- && addgroup -g 1001 -S nodejs && adduser -S -u 1001 nodejs \
38
- && rm -rf $PNPM_HOME/.npm $PNPM_HOME/.node-gyp
64
+ RUN pnpm install --production
39
65
 
40
66
  CMD ["npm", "start"]
@@ -1,40 +1,66 @@
1
- # Image size ~ 400MB
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 . .
32
+ RUN pnpm run build
10
33
 
11
- COPY package*.json *-lock.yaml ./
34
+ FROM node:21-alpine3.18
12
35
 
13
- RUN apk add --no-cache --virtual .gyp \
14
- python3 \
15
- make \
16
- g++ \
17
- && apk add --no-cache git \
18
- && pnpm install && pnpm run build \
19
- && apk del .gyp
36
+ RUN apk add --no-cache \
37
+ chromium \
38
+ nss \
39
+ freetype \
40
+ harfbuzz \
41
+ ca-certificates \
42
+ libpq-dev \
43
+ ttf-freefont \
44
+ udev
45
+
46
+ RUN corepack enable && corepack prepare pnpm@latest --activate
47
+ ENV PNPM_HOME=/usr/local/bin
20
48
 
21
- FROM node:21-alpine3.18 as deploy
49
+ RUN addgroup -S pptruser && adduser -S -G pptruser pptruser
22
50
 
23
51
  WORKDIR /app
24
52
 
53
+ COPY --from=builder /app/dist ./dist
54
+ COPY --from=builder /app/package.json /app/pnpm-lock.yaml ./
55
+
56
+ RUN chown -R pptruser:pptruser /app
57
+
58
+ USER pptruser
59
+
25
60
  ARG PORT
26
61
  ENV PORT $PORT
27
62
  EXPOSE $PORT
28
63
 
29
- COPY --from=builder /app/assets ./assets
30
- COPY --from=builder /app/dist ./dist
31
- COPY --from=builder /app/*.json /app/*-lock.yaml ./
32
-
33
- RUN corepack enable && corepack prepare pnpm@latest --activate
34
- ENV PNPM_HOME=/usr/local/bin
35
-
36
- RUN npm cache clean --force && pnpm install --production --ignore-scripts \
37
- && addgroup -g 1001 -S nodejs && adduser -S -u 1001 nodejs \
38
- && rm -rf $PNPM_HOME/.npm $PNPM_HOME/.node-gyp
64
+ RUN pnpm install --production
39
65
 
40
66
  CMD ["npm", "start"]
@@ -1,40 +1,66 @@
1
- # Image size ~ 400MB
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 . .
32
+ RUN pnpm run build
10
33
 
11
- COPY package*.json *-lock.yaml ./
34
+ FROM node:21-alpine3.18
12
35
 
13
- RUN apk add --no-cache --virtual .gyp \
14
- python3 \
15
- make \
16
- g++ \
17
- && apk add --no-cache git \
18
- && pnpm install && pnpm run build \
19
- && apk del .gyp
36
+ RUN apk add --no-cache \
37
+ chromium \
38
+ nss \
39
+ freetype \
40
+ harfbuzz \
41
+ ca-certificates \
42
+ libpq-dev \
43
+ ttf-freefont \
44
+ udev
45
+
46
+ RUN corepack enable && corepack prepare pnpm@latest --activate
47
+ ENV PNPM_HOME=/usr/local/bin
20
48
 
21
- FROM node:21-alpine3.18 as deploy
49
+ RUN addgroup -S pptruser && adduser -S -G pptruser pptruser
22
50
 
23
51
  WORKDIR /app
24
52
 
53
+ COPY --from=builder /app/dist ./dist
54
+ COPY --from=builder /app/package.json /app/pnpm-lock.yaml ./
55
+
56
+ RUN chown -R pptruser:pptruser /app
57
+
58
+ USER pptruser
59
+
25
60
  ARG PORT
26
61
  ENV PORT $PORT
27
62
  EXPOSE $PORT
28
63
 
29
- COPY --from=builder /app/assets ./assets
30
- COPY --from=builder /app/dist ./dist
31
- COPY --from=builder /app/*.json /app/*-lock.yaml ./
32
-
33
- RUN corepack enable && corepack prepare pnpm@latest --activate
34
- ENV PNPM_HOME=/usr/local/bin
35
-
36
- RUN npm cache clean --force && pnpm install --production --ignore-scripts \
37
- && addgroup -g 1001 -S nodejs && adduser -S -u 1001 nodejs \
38
- && rm -rf $PNPM_HOME/.npm $PNPM_HOME/.node-gyp
64
+ RUN pnpm install --production
39
65
 
40
66
  CMD ["npm", "start"]