alex/node-base (latest)
Published 2026-03-04 15:57:13 +00:00 by 3HL-Admin
Installation
docker pull git.3halves-labs.com/3hl-score/alex/node-base:latestsha256:3e8bf1629a2e25e774a1629e6d1af5a880e4deb5c346f4a2852ccabd4b92ed19
sha256:32515bc2c1a6538f350e41bbbce595bab491ed39ed69919257f0d6d77150b285
sha256:cc90e2cc46cefff0ba766a7bbefbf2a1744f141fdd47da3a66672840fb9417e4
sha256:6b687f40bc240a43738f9f367a5e260bf306aa951908dfb3307675aed7ac7361
sha256:f08660c3daa800fe7144529893d7be7029add668e7dffe1fd3e66a596196930a
sha256:446f23765136de56edd9b8a516ac0e6baf84b2d93cc8d8c0c5655505166ee8f2
sha256:3885d157490727507e7ebceb3c4b9618287b3cf08054f83b20b66aab2b10956a
sha256:666e6935b855a84febdf232d4fcad81bb7aee885e12b10b477a0aa70fdcdc67f
sha256:a6bd6724b5c96774cbe130b3eee9cb0d64735f18d18406b94d262b52ff64e120
sha256:bb9298e393ef9f0019e411bc408f3ce621ddf8b18cc572160e16e3e76233c8d9
sha256:832ba924f6746445c3d7152a8367dfd8794529ffa453f7606f330131fec64d36
sha256:68617ce6eb64e2f90ab7e371ea42bd8132aa4776dc4656a21e9e97f4caa7c521
sha256:f05658151d7ae10c06bd750e8b0bf6e171a64e928a299950da759c2effd4b81f
sha256:ed81a22c9aa896370ba5045e9bce660d74b73edb0ceb662d615224e0b7b77249
sha256:0686d7bd84974492dad7f032684108875f4077b34ca0f358e98e3548027861aa
sha256:c9b8d75a7ed849b088a48e79747867993b1ac04a2ecb1c656b1578c95aea5e1c
sha256:5b10d091ac47b09dfee20fda26d42e48c421606faba4caf7abb12b24358ac2ae
sha256:e1cf3fa7fea9f6eedb38f2a5e9dcdd0f58acc221b68fe21e62fc212fb5ffa887
sha256:2648476d990504249cdab27bd42666ec57dd88440d0816581bad2fd8f87f32fa
sha256:7deb13331a7e1b0e73bbccef50e281f49c8e00531871b428f85b44720fcaa877
sha256:34c42d6dd1db27f9f760da10232624b4107c6b6d3b842c523dcd12b18016b611
sha256:4e9ae54fb9fcffc4f55cbfdfc7eb7f6c881b42e9b7fb5b3402dc67dc6a8f5d24
sha256:953c97cd126f8e2459d2114bdc6fa209d186974f614834430f68c63cf62df24f
sha256:3824acf25879800c1690543a0a52a6c1123116e269655e12a3035c463c20d866
sha256:0584ce05ddc69474a983d29d1f4ad6aeabafb94b3cdd0a4b6a8da0e679588a52
sha256:26533763443f15a0260cca45271e475e9f42297a674a7232c23dd87a1d101696
sha256:e531895cc4242b5426193a849961ee3401e38e5db15089a76da325510f522524
sha256:8c1c586ddc63bafe36827eda1ba50e60e649ea30f1829006918102b65fcb5324
sha256:065442b84b21cfd82f2e2f740dc24a63357cc93ad7c95c897ad23ae20f7f1e96
sha256:dca4d2b684441cfabf9c96ee82029acf28b240686b6e13f0f3da578aa1b5ae97
sha256:8cfc7e6d8a5c3045faa411c6f31ead1538c214d87a02faec7cab5baedceaacbb
sha256:975fe764a6a921796b208f57d5a86a269c26921800889f435bed1489b84b11a2
sha256:81ae0aa57a3e48941c0b22f0aec234f6667a8953b0894f6fcb2995b67a533374
sha256:7591ffa03b1427a0b474d56bbbd7213210e314c06dedd73c8a6d054bab0687fe
sha256:fd7a468178c0621b0e000b39ada6f5eb2a9754561d54974912526b6ad89db917
sha256:c4f503422f68f2c7a4a5f2657fd367a5256aa825b73e32f6cdc94ea410ccc3a0
sha256:d13b349f9a4670edebc42bfd0c9c7fcfecd29dd2fe9aa6c8ac1e9a24b2309a0a
sha256:c22ac42e578f5ac3e3fd576c9272b0aa05c35cdc4f5723bbae8847c9b46c6fe3
sha256:25b7ca2faa7f210ad5417e7be32e1278f99d0bfc3c8c5394c8a9dc1a9b1e0d91
sha256:63f3a366fdf07d50b33bcfe0449034b1745be4f143557740677b82845d05ebd4
sha256:05cfe6755d89bd381d0dc16f529980939aa4c5a717996ed8310bbea17fc16a36
sha256:c83c39d608a19a9e03a0b9dde542826d9600e17990ead7e717924896eb51f9cc
sha256:c6d82b1895700c791a7c6becb9a53088fe06dc02b731b833ff4d92cfa8b37b93
sha256:266e1d0a75e06709d87f03c10f43ecef6dac4bb00e0afac0e4960cac5b89e1c9
sha256:36c7f5e22da30429b90e013dd36853231110b38caca5c85b3dfa8ab5ee289aa9
sha256:7cd4a064d6e1a538271498bb78a11f3f9870de7bce56b44722fc7a8f3e846807
sha256:7f62dbffc3c9f1f42674ef9e954814d5572df4c31df1f7a6fcfaefcfb58fc763
sha256:5a530fcded9bee194c297079d5817ed32b22ebfb1bb23eacf82606141d4d7303
sha256:bf6f934c92f9804005a1d3ff88d3a0d22a665dbfece9060e8f6d9efed92806cf
sha256:82e6e2e3316e1b7fb744fae00c5c4d5a148228ffb5acb9aa07b2097b0b3d09c2
sha256:db25375fb2252b00845431c4bcb969689e10c597f89ae265ad97dc1e9952fa54
sha256:6ed568e1b89dd66404c6be85f1254b0e913691febaec00c3b2dd2b85e624e18c
sha256:c903ab32063a6a3d8f16965fcb3e421aa234e99c1006e5f7e52b06ccc850be5a
sha256:ba4bf4c7b13c541bc581f84f36d682be1b86e52d0b187b8b3aa0e5b17e6fd235
sha256:61ef753be90c3f024b7687ad453c5593e4bd27313ebc1435811ab9c743fa2b78
sha256:56af33efebe687770267004fb22f119d7aba1f5c1cd05390595d29607941b170
sha256:1cbd7fcad79926cf566e8a2cef82826d59050d16bb129332552343c80e51dd34
sha256:f4b08345ebe686c5baf28604554004eca89347212288155b976f0f010d35f9b7
sha256:291e2bc2a9a5a19f847a3e2ff43baf363eeb0f46b458fd6f25e0e3001cf8dc96
sha256:18e9b4384e9c3a2788a1271230a2443cfcaaec323fbaa777c2005b88d1df778a
sha256:789eb1052f22672ce2e8203a6c5f7d17eb5b8fa2172a01c4599a9f4dfb08e376
sha256:cafa2221830500583bc17650afa8adbc23f585524758cf0da4f0855d03aa7be3
sha256:9885fa23fc46debdd49ce4332c4c301bdad7dd5ae2fb1660c08586de74c24b0d
sha256:4e8cf97d9ceea8eab4f42c8ff172230aae45d6ab2093e206d01118fd643daa07
sha256:80aacf18488e3894c7650340bc7815f55e7f7255b28fe45b64b6bbac812e6187
sha256:c3968ed86efa3ba6529aa7aff25a2cd3125efb2ada4a7f6803261c133b699911
sha256:52a10952ef33e78f8351e90049e36ae784ccafe69062bb0b8c6e4621f2437690
sha256:7d5a3203c34d173d781c31fd64679fd94bf6d575a3485bcadf324e7c0362be5b
sha256:79f890e6cd37d83d956ecaa3b527121f0aa8b931a38b0b3d6eb44fc102275048
sha256:0362907bcd014c062622014a2024a39145922980a5e7e9868b425a4be1a07497
sha256:ff8e57521bdbf4fefb5d9cebded33e36b60c8369df4e70198677580b5aec5dcc
sha256:2d72a68bc20cfd9fa2ee9ee67c0346890aff21eb5cc4eea63c27f9dcecc49dc1
sha256:75749cf6969f1fc051dca7df3536e53389a0194cbcd32d75494fb54ddaddbf46
sha256:3c79f9378098c7e5c777391efac0a843664ee543d2fb1a896211ee85032d1173
sha256:24357a5520a6a410cf0f888262dec7e6664abde43825d20b3cfd95a06f3f5ee3
sha256:d0fac37451e34857eaf743997f7427a5b61a824a9069d95bcea1de4322c56e0e
sha256:e8e6e68108c14241b43f60411b75b20cd7665c6ceae3fd6bc1f94ca9fececb9e
sha256:837508cb01ed6c7938493f86efa5899943252c568c5157755dc3ff0eff5fe290
sha256:42a5dda0c6ecc228ec23bd763bcd8613d91652037592a77c169a6cd06f7ff68c
sha256:7d34c542f9a36067754d0f25ec83587c6a1a6fff993fa42582172c9c459322ae
sha256:376d0bbb4e03aca541ae87e08b13a88c94dae69765a376d67522fa053795c63c
sha256:baa45425dda80a66dd9f3e7a2fa472ab0292a43a4a80a746530d87aac9df6db7
sha256:b670010938876d2eea4fe75d5aeb0465a409c0ad17541fff28a29b84a4baa4ea
sha256:3ff90f78de1826125d9d5a2227e0a2bfead584bdb84ccbcdbd545f0d5242fdbc
sha256:70d7868b073982a02028d0b19e7de32799e3e67eccf78dfe13b8d5cb422e7793
sha256:cb3ea36705c1bc39669eebd0f7dd882d583c5b5e65c9bab990b9864904951428
sha256:7491b8b39364a114ef9aa636ba31cf3cf10f5a45ec61200a84e55a5578b7d114
sha256:4d835677ae6be901671a395ebd8a504846e5bbd476aab835b2104708fa385df3
sha256:354f7d8e6c81642fe97e9a5a8387acbf6417b9682268f418ca85b716e009e330
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 npm install -g pnpm@9 # buildkit |
| WORKDIR /app |
| COPY pnpm-workspace.yaml package.json pnpm-lock.yaml ./ # buildkit |
| COPY packages/shared/package.json packages/shared/ # buildkit |
| COPY packages/exchange-engine/package.json packages/exchange-engine/ # buildkit |
| COPY packages/websocket-server/package.json packages/websocket-server/ # buildkit |
| COPY packages/market-simulator/package.json packages/market-simulator/ # buildkit |
| COPY packages/discord-bot/package.json packages/discord-bot/ # buildkit |
| RUN /bin/sh -c pnpm install --frozen-lockfile # buildkit |
| COPY packages/shared/ packages/shared/ # buildkit |
| RUN /bin/sh -c cd packages/shared && pnpm build # buildkit |