FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build WORKDIR /src RUN apt-get update && apt-get install -y --no-install-recommends \ clang \ zlib1g-dev \ libc6-dev \ && rm -rf /var/lib/apt/lists/* COPY . . RUN dotnet publish ServiceUpdater.csproj \ -c Release \ -o /app/publish \ -p:PublishAot=true \ -p:StripSymbols=true \ -p:InvariantGlobalization=true \ -r linux-x64 \ --self-contained true FROM debian:bookworm-slim AS final WORKDIR /app RUN apt update && apt install --yes --no-install-recommends \ curl \ ca-certificates \ gnupg \ unzip \ dumb-init \ && install -m 0755 -d /etc/apt/keyrings \ && curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg \ && chmod a+r /etc/apt/keyrings/docker.gpg \ && echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ tee /etc/apt/sources.list.d/docker.list > /dev/null \ && apt update \ && apt --yes --no-install-recommends install \ docker-ce-cli \ docker-compose-plugin \ && rm -rf /var/lib/apt/lists/* COPY --from=build /app/publish/ServiceUpdater /app COPY --from=build /app/publish/appsettings.json /app RUN chmod +x /app/ServiceUpdater ENV ASPNETCORE_URLS="http://0.0.0.0:5000" ENTRYPOINT ["/app/ServiceUpdater"]