forked from wormhole-foundation/wormhole
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile.deploy
35 lines (27 loc) · 1.13 KB
/
Dockerfile.deploy
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
# This is a multi-stage docker file:
# 1. The first stage contains the built contracts (wasm files)
# 2. The second creates a node.js environment to deploy the contracts to devnet
# local cosmwasm image, built by tilt
FROM cosmwasm_artifacts AS artifacts
# Contract deployment stage
FROM node:16-buster-slim@sha256:93c9fc3550f5f7d159f282027228e90e3a7f8bf38544758024f005e82607f546
# Support additional root CAs
COPY cert.pem* /certs/
# Node
ENV NODE_EXTRA_CA_CERTS=/certs/cert.pem
ENV NODE_OPTIONS=--use-openssl-ca
# npm
RUN if [ -e /certs/cert.pem ]; then npm config set cafile /certs/cert.pem; fi
RUN apt update && apt install netcat curl jq -y
WORKDIR /app/tools
COPY --from=artifacts / /app/artifacts
COPY ./ts-sdk/package.json ./ts-sdk/package-lock.json /ts-sdk/
RUN --mount=type=cache,uid=1000,gid=1000,target=/home/node/.npm \
npm ci --prefix=/ts-sdk
COPY ./ts-sdk /ts-sdk
COPY --from=vue-export /vue /vue
RUN npm run build --prefix=/ts-sdk
COPY ./contracts/tools/package.json ./contracts/tools/package-lock.json /app/tools/
RUN --mount=type=cache,uid=1000,gid=1000,target=/home/node/.npm \
npm ci
COPY ./contracts/tools /app/tools