# Stage 1: Build
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
WORKDIR /app

COPY ["../nuget.config", "./"]
COPY ["../Shop/Shop.csproj", "Shop/"]
RUN dotnet restore "Shop/Shop.csproj" --configfile nuget.config
COPY . .
RUN dotnet publish "../Shop/Shop.csproj" -c Release -o /app/publish /p:UseAppHost=false

# Stage 2: Final Image
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS final
WORKDIR /app
RUN addgroup --system --gid 1000 appgroup && \
    adduser --system --uid 1000 --ingroup appgroup appuser

EXPOSE 8080
EXPOSE 8081

COPY --from=build /app/publish .

RUN chown -R appuser:appgroup /app
USER appuser

ENTRYPOINT ["dotnet", "Shop.dll"]