diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..a21dafa --- /dev/null +++ b/.dockerignore @@ -0,0 +1,7 @@ +build/ +.git/ +.vscode/ +.cache/ +uploads/ +.env +.env.example \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 06e5f28..d67088e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -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"] \ No newline at end of file +ENTRYPOINT ["/app/build/visione-backend"] \ No newline at end of file diff --git a/docker-compose.development.yaml b/docker-compose.dev.yml similarity index 100% rename from docker-compose.development.yaml rename to docker-compose.dev.yml