# syntax=docker/dockerfile:1 FROM ubuntu:24.04 AS build RUN apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y \ build-essential cmake ninja-build pkg-config \ libdrogon-dev libjsoncpp-dev libyaml-cpp-dev libhiredis-dev \ libpq-dev libmariadb-dev libmariadb-dev-compat \ libsqlite3-dev sqlite3 \ libssl-dev && \ rm -rf /var/lib/apt/lists/* WORKDIR /src COPY backend/ ./backend/ COPY CMakeLists.txt ./ RUN cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release && \ cmake --build build --target csp_server FROM ubuntu:24.04 AS runtime RUN apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y \ libdrogon1t64 libjsoncpp25 libyaml-cpp0.8 libhiredis1.1.0 \ libpq5 libmariadb3 libsqlite3-0 libssl3t64 ca-certificates && \ rm -rf /var/lib/apt/lists/* WORKDIR /app COPY --from=build /src/build/backend/csp_server /app/csp_server EXPOSE 8080 # DB file mounted by compose at /data/csp.db CMD ["/app/csp_server", "/data/csp.db"]