FROM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS build WORKDIR /src COPY NewsArchive.sln ./ COPY nuget.config ./ COPY LocalNuGet/ ./LocalNuGet/ COPY NewsArchive.Api/*.csproj ./NewsArchive.Api/ COPY NewsArchive.Scraper/*.csproj ./NewsArchive.Scraper/ COPY NewsArchive.Core/*.csproj ./NewsArchive.Core/ COPY NewsArchive.UI/*.csproj ./NewsArchive.UI/ RUN dotnet restore COPY . . WORKDIR "/src/NewsArchive.Api" RUN dotnet publish "NewsArchive.Api.csproj" -c Release -o /app/publish --no-restore FROM mcr.microsoft.com/dotnet/aspnet:9.0-alpine AS final WORKDIR /app RUN mkdir -p /app/data && chown -R 1000:1000 /app/data COPY --from=build /app/publish . ENTRYPOINT ["dotnet", "NewsArchive.Api.dll"]