SoftController/Dockerfile
2025-09-30 16:27:18 +04:00

51 lines
1.2 KiB
Docker

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"]