refactor Dockerfile and docker-compose

This commit is contained in:
gabdevele
2026-06-10 21:26:03 +02:00 Unverified
parent 80cebeaf9c
commit 2dd8be41ac
3 changed files with 13 additions and 27 deletions
+6 -27
View File
@@ -1,39 +1,18 @@
# --- Builder Stage ---
FROM ubuntu:22.04 AS builder
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential cmake ninja-build git pkg-config \
libssl-dev zlib1g-dev \
libmariadb-dev libmariadb-dev-compat \
libsqlite3-dev python3 libjsoncpp-dev uuid-dev ca-certificates \
&& rm -rf /var/lib/apt/lists/*
RUN rm -rf /usr/include/mysql && ln -s /usr/include/mariadb /usr/include/mysql
FROM drogonframework/drogon:latest
WORKDIR /app
COPY . /app
RUN cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release \
&& cmake --build build -- -j$(nproc)
# --- Runtime Stage ---
FROM ubuntu:22.04 AS runtime
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends \
libssl3 ca-certificates libstdc++6 libmariadb3 libjsoncpp25 libuuid1 \
# funziona anche senza ma ninja rende il build dell'immagine più veloce
RUN apt-get update && apt-get install -y --no-install-recommends ninja-build \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=builder /app/build/visione-backend /app/visione-backend
COPY --from=builder /app/build/openapi /app/build/openapi
COPY --from=builder /app/migrations /app/migrations
RUN cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release \
&& cmake --build build
EXPOSE 5555
RUN chown -R 1000:1000 /app
USER 1000:1000
ENTRYPOINT ["/app/visione-backend"]
ENTRYPOINT ["/app/build/visione-backend"]