FROM mcr.microsoft.com/dotnet/sdk:10.0-alpine AS build WORKDIR /src COPY WeShare/WeShare.csproj WeShare/ RUN dotnet restore WeShare/WeShare.csproj \ --source https://api.nuget.org/v3/index.json COPY WeShare/ WeShare/ RUN dotnet publish WeShare/WeShare.csproj \ --configuration Release \ --output /app/publish \ --no-restore FROM mcr.microsoft.com/dotnet/aspnet:10.0-alpine AS final WORKDIR /app ENV ASPNETCORE_URLS=http://+:8080 \ ASPNETCORE_FORWARDEDHEADERS_ENABLED=true \ WeShare__UploadRootFolder=/data/uploads RUN mkdir -p /data/uploads \ && chown -R app:app /data/uploads /app COPY --from=build --chown=app:app /app/publish . USER app EXPOSE 8080 HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \ CMD wget --quiet --spider http://127.0.0.1:8080/ || exit 1 ENTRYPOINT ["dotnet", "WeShare.dll"]