alex/exchange-engine (latest)
Published 2026-03-04 06:35:02 +00:00 by 3HL-Admin
Installation
docker pull git.3halves-labs.com/3hl-score/alex/exchange-engine:latestsha256:fc4ad8dc86c9c1ff4a64dca23b6f28580032bc1bb3f69f472269933c01d3a80e
sha256:23217dcbff01c28902d924058dc087bccb51bf28504e19ba283e4e8180db0ab9
sha256:3a2a3d1a9e78e9ffa1006b7b61cdd45825843d1506a6510de972dd3ee2b3e1f5
sha256:cf8f724e94d65e49a10064840a29cd056f6d8cf73950a20da580a840ef8b6ff4
sha256:4768d8856f1d90b4e6434d37e156d456a81d1d65f8bdd065e4cb956347a87d4b
sha256:e5b9f134c08532705e5493462156c1efe04d3bec47981a049cd0e2aa8e036493
sha256:c8d99bc1bbc80e0ab8c80de69eb409a2a3b75c86f72f0625748e4a577e484d6a
sha256:b8bd881d6e61f2a121d9a664ccebad1a0504cb5c4286a63747713045c5334d76
sha256:1de19eb192bd9093c7d1be6c2875d45957cd1ac355868cee3ef20814d26b55bb
sha256:1116701dab61f80281eac918cd798f2e1a1f203051efdc86b803afaad028b0b4
sha256:6d4cc3c6659743aebc30dc0b40d93cea79c75367642827aaa52acaa69786ab4c
sha256:67c341dade6393c5d878a84cb082d776c6095bd0836983de0df75668c5f54d77
sha256:f8a4a0a63f1303a5f312ca0d210b873401d11d699060c1bc627fd908ff73a8e9
sha256:b96198dbcaabf4df6566c1c4a6e496161cac9d5c494375fb4ba608d018598c7d
sha256:9fef62b17e70f2cd9dd0883a839433f805c7fd8d82369e900de2693c1cf6ef13
sha256:8e4b110174246e0b863d6d167f7c151640aaa22ae5fe0db21776186db7aabdb9
sha256:afdc16a6d4eeae8ca8c83c94d5afff9233f2464af498c0bf7966a807ef120849
sha256:62e0d0e9c58b33d835f4a9e8d2c837282123658e88dab2d18a600adf9e98765b
sha256:b660ba630f1460d03a104fc81cee4ce23414252ab31f808802d05745be67a9d0
sha256:ff246242ef3af64feca480709740836f41a0f0bc8d40f6e1da336d1892c4bbfb
sha256:6ebd0916ca561999e1f5fad22a565fd5223bbf89a24f24a6803a3b8e8aac271c
sha256:e9ac43c2f252005dd3721db8eeade75333d24d193a9167756f977859997d8e7a
sha256:d2120bb9c8ab94917924f64b7af09d7bae9278d15160a38ffbb961a10cc1dc95
sha256:c652a38835def233cb987ac9deb2737dcc229d4ca859d947935e8503d3aa4314
sha256:9b5c8711fb2004cee24ac2963b4cba403b64a452b48bcc8943d066839201f7db
sha256:3aa047b8ad944d1a9154530edac8b7e066259e6392e4181ae2ba260bceaeaee2
sha256:e5e10547706fe22b5b366a996fa3d072d95fbc20a6f51ba8bb236531b3b648d0
sha256:903903e19bafc323b68e4a0cdac690a3929f8c4161fea2ffd54ac3544cdcf106
sha256:5c39cfbdd14d100c6e829de9ce1aeea9da5c9f568f9ba9c14673327eaaf62ca4
sha256:6c00a8ccde59c86c47e95d2b642848e538d550d03ffd12acbf3621d5e429303c
sha256:efcc12ddb045351879b66736ca9aa529b21c252e561f261ce996861d1c7a0b7a
sha256:1aff49a8bd26a9b65e82c2762e30d9a12f081b4b8ddd561790824fe46e50c2a3
sha256:59361b35a2665d56b2e3e30044f2dac3eac1eddd707fe85c50304c0ddd65a9ad
sha256:6465c312946618e597796b066439ab95d8bbbd6a2d72f91c217b192eedc8e60a
sha256:b78138edacd7d8a10c35673244790a86c18119309ef504533de785f44b21d878
sha256:488e9ce71dff1088a9dde3485389f31e545fc520554b923d6120855f447481f6
sha256:d458d4154b66f2d41ff5e65ac74956e049a6dd82e37504558e279a2d3de3abc2
sha256:492e8a4db86f04226dbd45e2cc8333f7828a8335eeec3c8b82eeddf2ea9cec86
sha256:a3ccd7462849e756653b0323d995d8cd2242a73220ab8298bd6c570692b26590
sha256:bd723d8cbb50672b1f188040abcfaf87402411acb71fbfa0f6627ac9962b5bd8
sha256:4837919ccf296f45987ffd155b72d818c31d8b60535aaedef23334a38452693c
sha256:c8a6d89bce92a3b7d03dc1484c5d917becf57ce1de883e44334f0b4948f6d206
sha256:50781853a2b13a2ffbdd0baba96b77b321f0fe5abc672438d31c0c107cfbfe47
sha256:161afe1a434a264f06301c2142708fa33b1ab19d5a207cc4e8f57394649748ae
sha256:f6d10aa63917f4c395779399a7db96d792f5ad42373ff93e05877a8dcb4b7439
sha256:f2649af219af8e1b64ae69755f934e7e78f9d78ea087129d8cd5f63a517a2a88
sha256:3fc92dcedb91cbee92c562fa06adfab89eda6d80aa9fc319e6a177cf355ec558
sha256:44ae9b1d69fc791d27c124210b47086f6d8563d712e89daa3572c4c043058c34
sha256:efa5f3e6c862b8e98abcad8f4a5476d56bceb9b2fdf6a2f907ec5f611829f0a0
sha256:cf06ecb420257dbfa25cba40ca01ac36c54a7b544a3b6e73d2e4fbad8b6a99cf
sha256:acae252cab9a011ae7935451e1b28918e1bfcf64311da340096cab0cd712733f
sha256:fe04cfd0979d18cbd70a0c21f6c754266a7e2e856c5effcbecbad6b29268386c
sha256:e26c8a47634bfda9edf0c21158f7a3af2592b25a2bb2b474229e360debc9dca6
sha256:2ccb7f11f75db2b619b1941ca6954cf2f052766d7d307ddbaceebd5f6a5577b6
sha256:85d8fb52942fcf838b8637cc17c8b6e37badf440e4efc5547eef8eeae542e770
sha256:1baf3a2b19438a92aed93514aac57304845f35ff4b34ddeeb3107d1e4cd6677a
sha256:4d956217129d2162836179cb53f03c4c675dddfc795d1412513548d1aa12d565
sha256:1946618a65de300525ec897839a67bc0050f61aa9a93aa1974ef2d8289ca252e
sha256:134bdb52f8c12f1e93494060ac07036728f04684906e3178043fa100077e1e89
sha256:8980a28be84b6f0d016561be79b72b34ec61f63e4d88ff435eefc4e821c38b26
sha256:3ee547cbb673f97cf6760e48b4fc057f27e93fda11ba8346cae8fa7f814a3a1e
sha256:0911bb541034ef7797fec48b951076040fe9fb01ca62dd18b86de7059b9c29af
sha256:140ba6a8a6b8283de4b5d5af41d24d3fb09a54fea33aa416fc822066a2d4e614
sha256:49f4080da0d13626d2e3dc305a5072288290a8f73ddd6dbf2bafb8cdf184c2d9
sha256:54fb21ec514a3868c58c0fd3791e9f5becc5ca68cf7d8bcc3915157a9d3e04cd
sha256:49f7722cbbbeafb631e1a430bae24f6a7ea3be1b019438b41e89110fc9125462
sha256:22f1c0726cd4c529f23dd005165caa579af75c122224c294e77f03d796faa66d
sha256:6e11be003f307d39ee62958dff9009218dc54ecab862121cb39985c83724b661
sha256:89a8871085b4cb0bb160fcd7cf419a8c232ba2c443f5107e8a684a610f75dee0
sha256:c36f3849702c81fbbe5ca64c294edacce5d544647ada33d53165abf4fa1e7b97
sha256:8c4992cbc42f071dcfa5b13e2558749963836eece491b523994587ad57e0c22a
sha256:2468a8d8ac5328c65f039184dec2503f02544dbd0ba6c40e70452173f9d2744c
sha256:c1eb1f2c742fe7420d052d83ebadd5c0d13fca4eb6cd2e29cf697f9b07f126aa
sha256:c320ce9e96c6db5fe0625da48583072c0a00ff8d5a8820772690983efab1c8a8
sha256:f477e2b96d4600d0a57f085aefe5c43237df9b52434d7b52c5361bce9b41bace
sha256:7f258111d2e24c2bced19af79c41b2a950961fb185bc3e8469463beb233e97db
sha256:404df7f93b5c45da23779367646b18aa56af32d3acabfe84323c54cf667793ad
sha256:ebb153d45808067ae6184aa163b7166f6fead9c4470eb359ebe6da27bfff32ca
sha256:309aaaef9fbeedb9e4fcd6b77db56f8266cd67b99903dd4a43cdeeac67b925b0
sha256:dabd922b29145a84b0bf7f769d614cd457bec5542aa25b2f3ce576ad730bde56
sha256:f172e88b193c054335830acb1e9950608ec7161e876c78e67883c64c72aae4f5
sha256:7a06fab34398dff8d1812f22823f4bee6d4f81c4d4ad92325168652ea2813287
sha256:ed331efc2fea5e0905833054d9d1d5388b897d44311fc2d98d3c92dddc3689d7
sha256:5c40259457c6c436333896b18dd4bfe349782d2bc818a6bf49134771df3d3373
sha256:c23dd3ce9e624c793233fe6103b965a482530fcc2c975740f788b4f22f7b14ac
sha256:0bb474e8b331b076def4a9433f991ff8f558468203bdd3054840e37cb2fc51ad
Image Layers
| ADD alpine-minirootfs-3.23.3-x86_64.tar.gz / # buildkit |
| CMD ["/bin/sh"] |
| ENV NODE_VERSION=20.20.0 |
| RUN /bin/sh -c addgroup -g 1000 node && adduser -u 1000 -G node -s /bin/sh -D node && apk add --no-cache libstdc++ && apk add --no-cache --virtual .build-deps curl && ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)" && case "${alpineArch##*-}" in x86_64) ARCH='x64' CHECKSUM="c92cfcb864e84eb279f495fc2cf5de6c4877cf9f12fe5e4f21d1de5669c169ee" OPENSSL_ARCH=linux-x86_64;; x86) OPENSSL_ARCH=linux-elf;; aarch64) OPENSSL_ARCH=linux-aarch64;; arm*) OPENSSL_ARCH=linux-armv4;; ppc64le) OPENSSL_ARCH=linux-ppc64le;; s390x) OPENSSL_ARCH=linux-s390x;; *) ;; esac && if [ -n "${CHECKSUM}" ]; then set -eu; curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"; echo "$CHECKSUM node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" | sha256sum -c - && tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && ln -s /usr/local/bin/node /usr/local/bin/nodejs; else echo "Building from source" && apk add --no-cache --virtual .build-deps-full binutils-gold g++ gcc gnupg libgcc linux-headers make python3 py-setuptools && export GNUPGHOME="$(mktemp -d)" && for key in 5BE8A3F6C8A5C01D106C0AD820B1A390B168D356 DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 CC68F5A3106FF448322E48ED27F5E38D5B0A215F 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C 108F52B48DB57BB0CC439B2997B01419BD92F80A A363A499291CBBC940DD62E41F10027AF002F8B0 ; do { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; done && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc && gpgconf --kill all && rm -rf "$GNUPGHOME" && grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - && tar -xf "node-v$NODE_VERSION.tar.xz" && cd "node-v$NODE_VERSION" && ./configure && make -j$(getconf _NPROCESSORS_ONLN) V= && make install && apk del .build-deps-full && cd .. && rm -Rf "node-v$NODE_VERSION" && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt; fi && rm -f "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" && find /usr/local/include/node/openssl/archs -mindepth 1 -maxdepth 1 ! -name "$OPENSSL_ARCH" -exec rm -rf {} \; && apk del .build-deps && node --version && npm --version && rm -rf /tmp/* # buildkit |
| ENV YARN_VERSION=1.22.22 |
| RUN /bin/sh -c apk add --no-cache --virtual .build-deps-yarn curl gnupg tar && export GNUPGHOME="$(mktemp -d)" && for key in 6A010C5166006599AA17F08146C2130DFD2497F5 ; do { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; done && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" && gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && gpgconf --kill all && rm -rf "$GNUPGHOME" && mkdir -p /opt && tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ && ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn && ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg && rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && apk del .build-deps-yarn && yarn --version && rm -rf /tmp/* # buildkit |
| COPY docker-entrypoint.sh /usr/local/bin/ # buildkit |
| ENTRYPOINT ["docker-entrypoint.sh"] |
| CMD ["node"] |
| RUN /bin/sh -c apk add --no-cache curl # buildkit |
| WORKDIR /app |
| ARG PACKAGE=exchange-engine |
| ENV PACKAGE=exchange-engine |
| COPY /app/package.json /app/pnpm-lock.yaml /app/pnpm-workspace.yaml ./ # buildkit |
| COPY /app/node_modules ./node_modules # buildkit |
| COPY /app/packages/shared/dist ./packages/shared/dist # buildkit |
| COPY /app/packages/shared/package.json ./packages/shared/ # buildkit |
| COPY /app/packages/exchange-engine/dist ./packages/exchange-engine/dist # buildkit |
| COPY /app/packages/exchange-engine/package.json ./packages/exchange-engine/ # buildkit |
| COPY /app/packages/exchange-engine/templates ./packages/exchange-engine/templates # buildkit |
| RUN |1 PACKAGE=exchange-engine /bin/sh -c chown -R node:node /app # buildkit |
| USER node |
| WORKDIR /app/packages/exchange-engine |
| CMD ["node" "dist/index.js"] |