-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathDockerfile
97 lines (89 loc) · 3.19 KB
/
Dockerfile
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
FROM docker.io/node:lts-alpine as base
ARG ALCHEMY_MAINNET_API_KEY=${ALCHEMY_MAINNET_API_KEY}
ARG ALCHEMY_API_KEY=${ALCHEMY_API_KEY}
ARG ALCHEMY_MAINNET_RPC_URL=${ALCHEMY_MAINNET_RPC_URL}
ARG ALCHEMY_BASE_SEPOLIA_RPC_URL=${ALCHEMY_BASE_SEPOLIA_RPC_URL}
ARG ALCHEMY_BASE_RPC_URL=${ALCHEMY_BASE_RPC_URL}
ARG WALLETCONNECT_PROJECT_ID=${WALLETCONNECT_PROJECT_ID}
ARG SESSION_SECRET=${SESSION_SECRET}
ARG API_URL=${API_URL}
ARG API_KEY=${API_KEY}
ARG PRIVY_APP_ID=${PRIVY_APP_ID}
ARG PRIVY_APP_SECRET=${PRIVY_APP_SECRET}
ARG PRIVY_VERIFICATION_KEY=${PRIVY_VERIFICATION_KEY}
ARG CLOUDINARY_CLOUD_NAME=${CLOUDINARY_CLOUD_NAME}
ARG CLOUDINARY_API_KEY=${CLOUDINARY_API_KEY}
ARG CLOUDINARY_API_SECRET=${CLOUDINARY_API_SECRET}
ARG SENTRY_AUTH_TOKEN=${SENTRY_AUTH_TOKEN}
ARG SENTRY_DSN=${SENTRY_DSN}
ARG SENTRY_ORG=${SENTRY_ORG}
ARG SENTRY_PROJECT=${SENTRY_PROJECT}
ARG ORIGIN_URL=${ORIGIN_URL}
ARG PHOSPHOR_API_KEY=${PHOSPHOR_API_KEY}
ARG PHOSPHOR_ADMIN_API_URL=${PHOSPHOR_ADMIN_API_URL}
ARG PHOSPHOR_COLLECTION_ID=${PHOSPHOR_COLLECTION_ID}
ARG GTM_TRACKING_ID=${GTM_TRACKING_ID}
ARG FF_FULL_LOCKDOWN_ENABLED=${FF_FULL_LOCKDOWN_ENABLED}
ARG FF_INCIDENT_BANNER_ENABLED=${FF_INCIDENT_BANNER_ENABLED}
ARG FF_GENERIC_BANNER_ENABLED=${FF_GENERIC_BANNER_ENABLED}
ARG VITE_DEPLOY_ENV=${VITE_DEPLOY_ENV}
ARG RELIC_GRAPHQL_ENDPOINT=${RELIC_GRAPHQL_ENDPOINT}
ARG I7N_GRAPHQL_ENDPOINT=${I7N_GRAPHQL_ENDPOINT}
ENV ALCHEMY_MAINNET_API_KEY=${ALCHEMY_MAINNET_API_KEY}
ENV ALCHEMY_API_KEY=${ALCHEMY_API_KEY}
ENV ALCHEMY_MAINNET_RPC_URL=${ALCHEMY_MAINNET_RPC_URL}
ENV ALCHEMY_BASE_SEPOLIA_RPC_URL=${ALCHEMY_BASE_SEPOLIA_RPC_URL}
ENV ALCHEMY_BASE_RPC_URL=${ALCHEMY_BASE_RPC_URL}
ENV WALLETCONNECT_PROJECT_ID=${WALLETCONNECT_PROJECT_ID}
ENV SESSION_SECRET=${SESSION_SECRET}
ENV API_URL=${API_URL}
ENV API_KEY=${API_KEY}
ENV PRIVY_APP_ID=${PRIVY_APP_ID}
ENV PRIVY_APP_SECRET=${PRIVY_APP_SECRET}
ENV PRIVY_VERIFICATION_KEY=${PRIVY_VERIFICATION_KEY}
ENV CLOUDINARY_CLOUD_NAME=${CLOUDINARY_CLOUD_NAME}
ENV CLOUDINARY_API_KEY=${CLOUDINARY_API_KEY}
ENV CLOUDINARY_API_SECRET=${CLOUDINARY_API_SECRET}
ENV SENTRY_PROJECT=${SENTRY_PROJECT}
ENV SENTRY_AUTH_TOKEN=${SENTRY_AUTH_TOKEN}
ENV SENTRY_DSN=${SENTRY_DSN}
ENV SENTRY_ORG=${SENTRY_ORG}
ENV ORIGIN_URL=${ORIGIN_URL}
ENV PHOSPHOR_API_KEY=${PHOSPHOR_API_KEY}
ENV PHOSPHOR_ADMIN_API_URL=${PHOSPHOR_ADMIN_API_URL}
ENV PHOSPHOR_COLLECTION_ID=${PHOSPHOR_COLLECTION_ID}
ENV GTM_TRACKING_ID=${GTM_TRACKING_ID}
ENV FF_FULL_LOCKDOWN_ENABLED=${FF_FULL_LOCKDOWN_ENABLED}
ENV FF_INCIDENT_BANNER_ENABLED=${FF_INCIDENT_BANNER_ENABLED}
ENV FF_GENERIC_BANNER_ENABLED=${FF_GENERIC_BANNER_ENABLED}
ENV VITE_DEPLOY_ENV=${VITE_DEPLOY_ENV}
ENV RELIC_GRAPHQL_ENDPOINT=${RELIC_GRAPHQL_ENDPOINT}
ENV I7N_GRAPHQL_ENDPOINT=${I7N_GRAPHQL_ENDPOINT}
WORKDIR /app
COPY package.json \
project.json \
tsconfig* \
nx.json \
pnpm*.yaml \
.eslintrc.base.cjs \
.verdaccio \
./
COPY apps/portal ./apps/portal
COPY packages ./packages
RUN apk add --no-cache \
python3 \
make \
gcc \
g++
RUN npm install -g [email protected]
FROM base as build
RUN npm add --global nx@latest
RUN pnpm i
RUN pnpm run portal:build
FROM base
COPY --from=build /app /app
ENV NX_REJECT_UNKNOWN_LOCAL_CACHE=0
ENV PORT=8080
ENV HOST=0.0.0.0
EXPOSE 8080
CMD [ "pnpm", "run", "portal:start" ]