-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
97 lines (78 loc) · 3.2 KB
/
Dockerfile
File metadata and controls
97 lines (78 loc) · 3.2 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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
### BASE with Node.js and pnpm pre-installned
FROM node:22-alpine AS base
RUN npm install -g pnpm@10.10.0
### BUILD
FROM base as build
WORKDIR /app-build
RUN apk add --no-cache chromium
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
COPY packages/core/package.json packages/core/package.json
COPY apps/cv/package.json apps/cv/package.json
COPY apps/cv/scripts/build.ts apps/cv/scripts/build.ts
COPY apps/website/package.json apps/website/package.json
RUN pnpm install --frozen-lockfile
COPY . .
# defining args for env
ARG WS_PUBLIC_BASE_URL=https://websavva.dev
ARG WS_PUBLIC_BIO_FULL_NAME_EN=author
ARG WS_PUBLIC_BIO_FULL_NAME_RU=автор
ARG WS_PUBLIC_BIO_CAREER_START_DATE=1970.01.01
ARG WS_PUBLIC_BIO_BIRTH_DATE=1970.01.01
ARG WS_PUBLIC_BIO_SOCIAL_LINK_TELEGRAM=https://telegram.org/
ARG WS_PUBLIC_BIO_SOCIAL_LINK_GITHUB=https://github.com/
ARG WS_PUBLIC_BIO_LOCATION_EN
ARG WS_PUBLIC_BIO_LOCATION_RU
ARG WS_PUBLIC_BIO_PHONE_NUMBER
ARG WS_PUBLIC_BIO_EMAIL
ARG WS_PUBLIC_YM_ID
ENV NODE_ENV=production
ENV PORT=3000
ENV WS_PUBLIC_BASE_URL=${WS_PUBLIC_BASE_URL}
ENV WS_PUBLIC_BIO_FULL_NAME_EN=${WS_PUBLIC_BIO_FULL_NAME_EN}
ENV WS_PUBLIC_BIO_FULL_NAME_RU=${WS_PUBLIC_BIO_FULL_NAME_RU}
ENV WS_PUBLIC_BIO_CAREER_START_DATE=${WS_PUBLIC_BIO_CAREER_START_DATE}
ENV WS_PUBLIC_BIO_BIRTH_DATE=${WS_PUBLIC_BIO_BIRTH_DATE}
ENV WS_PUBLIC_BIO_SOCIAL_LINK_TELEGRAM=${WS_PUBLIC_BIO_SOCIAL_LINK_TELEGRAM}
ENV WS_PUBLIC_BIO_SOCIAL_LINK_GITHUB=${WS_PUBLIC_BIO_SOCIAL_LINK_GITHUB}
ENV WS_PUBLIC_YM_ID=${WS_PUBLIC_YM_ID}
ENV WS_PUBLIC_BIO_LOCATION_EN=${WS_PUBLIC_BIO_LOCATION_EN}
ENV WS_PUBLIC_BIO_LOCATION_RU=${WS_PUBLIC_BIO_LOCATION_RU}
ENV WS_PUBLIC_BIO_PHONE_NUMBER=${WS_PUBLIC_BIO_PHONE_NUMBER}
ENV WS_PUBLIC_BIO_EMAIL=${WS_PUBLIC_BIO_EMAIL}
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
RUN pnpm dev:prepare
RUN pnpm build
### PRODUCTION
FROM base as production
WORKDIR /app
# defining args for env
ARG WS_PUBLIC_BASE_URL=https://websavva.dev
ARG WS_PUBLIC_BIO_FULL_NAME_EN=author
ARG WS_PUBLIC_BIO_FULL_NAME_RU=автор
ARG WS_PUBLIC_BIO_CAREER_START_DATE=1970.01.01
ARG WS_PUBLIC_BIO_BIRTH_DATE=1970.01.01
ARG WS_PUBLIC_BIO_SOCIAL_LINK_TELEGRAM=https://telegram.org/
ARG WS_PUBLIC_BIO_SOCIAL_LINK_GITHUB=https://github.com/
ARG WS_PUBLIC_YM_ID
ARG WS_PUBLIC_BIO_LOCATION_EN
ARG WS_PUBLIC_BIO_LOCATION_RU
ARG WS_PUBLIC_BIO_PHONE_NUMBER
ARG WS_PUBLIC_BIO_EMAIL
ENV NODE_ENV=production
ENV PORT=3000
ENV WS_PUBLIC_BASE_URL=${WS_PUBLIC_BASE_URL}
ENV WS_PUBLIC_BIO_FULL_NAME_EN=${WS_PUBLIC_BIO_FULL_NAME_EN}
ENV WS_PUBLIC_BIO_FULL_NAME_RU=${WS_PUBLIC_BIO_FULL_NAME_RU}
ENV WS_PUBLIC_BIO_CAREER_START_DATE=${WS_PUBLIC_BIO_CAREER_START_DATE}
ENV WS_PUBLIC_BIO_BIRTH_DATE=${WS_PUBLIC_BIO_BIRTH_DATE}
ENV WS_PUBLIC_BIO_SOCIAL_LINK_TELEGRAM=${WS_PUBLIC_BIO_SOCIAL_LINK_TELEGRAM}
ENV WS_PUBLIC_BIO_SOCIAL_LINK_GITHUB=${WS_PUBLIC_BIO_SOCIAL_LINK_GITHUB}
ENV WS_PUBLIC_YM_ID=${WS_PUBLIC_YM_ID}
ENV WS_PUBLIC_BIO_LOCATION_EN=${WS_PUBLIC_BIO_LOCATION_EN}
ENV WS_PUBLIC_BIO_LOCATION_RU=${WS_PUBLIC_BIO_LOCATION_RU}
ENV WS_PUBLIC_BIO_PHONE_NUMBER=${WS_PUBLIC_BIO_PHONE_NUMBER}
ENV WS_PUBLIC_BIO_EMAIL=${WS_PUBLIC_BIO_EMAIL}
RUN apk add --no-cache curl
COPY --from=build /app-build/apps/website/.output/ .output
EXPOSE 3000
CMD node .output/server/index.mjs