FROM ubuntu:jammy as sc-base RUN apt-get update && apt-get install -y \ build-essential \ cmake \ git \ gcc \ g++ \ libssl-dev \ libjsoncpp-dev \ zlib1g-dev \ libmysqlclient-dev \ libpq-dev \ libsqlite3-dev FROM sc-base as drogon-base RUN apt-get install -y \ libjsoncpp-dev \ uuid-dev \ zlib1g-dev \ libyaml-cpp-dev \ openssl libssl-dev FROM drogon-base as drogon-build ADD https://github.com/drogonframework/drogon/archive/refs/tags/v1.9.11.tar.gz . WORKDIR /usr/local/src/build RUN tar --strip=1 -xf /drogon-1.9.11.tar.gz -C .. && \ cd drogon-1.9.11 && \ git submodule update --init && \ mkdir build && \ cd build && \ cmake -DCMAKE_BUILD_TYPE=Release .. && \ make && sudo make install FROM sc-base as ixwebsocket-build ADD https://github.com/machinezone/IXWebSocket/archive/refs/tags/v11.4.6.tar.gz . WORKDIR /usr/local/src/build RUN tar --strip=1 -xf /IXWebSocket-11.4.6.tar.gz -C .. && \ cd IXWebSocket-11.4.6.tag.gz && \ mkdir build && \ cd build && \ cmake -DUSE_TLS=1 .. && \ make -j && \ make install WORKDIR /app COPY . /app RUN mkdir build && cd build && cmake .. && make CMD ["./build/your_app_executable"]