1- FROM ubuntu:24.04
1+ FROM ubuntu:24.04 AS builder
22RUN DEBIAN_FRONTEND=noninteractive apt update -y \
33 && apt install -y wget curl build-essential cmake clang openssl \
44 libssl-dev zlib1g-dev gperf wget git ninja-build libsodium-dev libmicrohttpd-dev liblz4-dev \
@@ -10,33 +10,38 @@ RUN DEBIAN_FRONTEND=noninteractive apt update -y \
1010 libhiredis-dev libidn11-dev libjemalloc2 libjemalloc-dev libkrb5-dev libldap2-dev liblz4-dev \
1111 libnghttp2-dev libpugixml-dev libsnappy-dev libsasl2-dev libssl-dev libxxhash-dev libyaml-cpp0.8 libyaml-cpp-dev \
1212 libzstd-dev libssh2-1-dev netbase python3-dev python3-jinja2 python3-venv python3-yaml \
13- ragel yasm zlib1g-dev liblzma-dev libre2-dev clang-format gcc g++ \
13+ ragel yasm zlib1g-dev liblzma-dev libre2-dev clang-format gcc g++ yq \
1414 && rm -rf /var/lib/apt/lists/*
1515
16- ENV CC=/usr/bin/gcc
17- ENV CXX=/usr/bin/g ++
16+ ENV CC=/usr/bin/clang
17+ ENV CXX=/usr/bin/clang ++
1818ENV CCACHE_DISABLE=1
19+ ENV USERVER_FEATURE_CRYPTOPP_BLAKE2=0
20+ ENV BUILD_TON_PLAYGROUND=1
1921
2022COPY examples/ /app/examples/
2123COPY py/ /app/py/
2224COPY external/ /app/external/
2325COPY tonlib-multiclient/ /app/tonlib-multiclient/
2426COPY ton-http-api/ /app/ton-http-api/
27+ COPY playground/ /app/playground/
2528COPY CMakeLists.txt /app/CMakeLists.txt
2629
2730WORKDIR /app/build
2831RUN cmake -DCMAKE_BUILD_TYPE=Release -DPORTABLE=1 .. && make -j$(nproc) && make install
32+ RUN apt update -y && apt install -y gdb && mkdir -p /root/.config/gdb && echo "set auto-load safe-path /" > /root/.config/gdb/gdbinit
33+ COPY ton-http-api/static/ /app/static/
2934COPY config/static_config.yaml /app/static_config.yaml
30-
31- RUN apt update && apt install -y gdb && mkdir -p /root/.config/gdb
32- RUN echo "set auto-load safe-path /" > /root/.config/gdb/gdbinit
3335ENTRYPOINT [ "ton-http-api-cpp" ]
36+ # end builder
37+
3438
35- # FROM ubuntu:24.04
36- # RUN DEBIAN_FRONTEND=noninteractive apt update -y \
37- # && apt install -y wget curl dnsutils libsecp256k1-dev libsodium-dev libfmt-dev \
38- # && rm -rf /var/lib/apt/lists/*
39- # COPY --from=builder /app/build/ton-http-api/ton-http-api-cpp /usr/bin/
40- # COPY --from=builder /app/build/tonlib-multiclient/libtonlib_multiclient_lib.so /usr/lib
41- # COPY config/static_config_compose.yaml /app/static_config.yaml
42- # ENTRYPOINT [ "ton-http-api-cpp" ]
39+ FROM ubuntu:24.04 AS http-api-cpp
40+ RUN DEBIAN_FRONTEND=noninteractive apt update -y \
41+ && apt install -y curl dnsutils libcurl4 libfmt9 libsodium23 libcctz2 libatomic1 libicu74 \
42+ && rm -rf /var/lib/apt/lists/*
43+ COPY --from=builder /app/build/ton-http-api/ton-http-api-cpp /usr/bin/
44+ COPY --from=builder /app/build/tonlib-multiclient/libtonlib_multiclient_lib.so /usr/lib
45+ COPY ton-http-api/static/ /app/static/
46+ COPY config/static_config.yaml /app/static_config.yaml
47+ ENTRYPOINT [ "ton-http-api-cpp" ]
0 commit comments