# ---------- Build Stage ----------
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS builder

WORKDIR /src

COPY QuizTune.Api/QuizTune.Api.csproj QuizTune.Api/
RUN dotnet restore QuizTune.Api/QuizTune.Api.csproj

COPY QuizTune.Api/ QuizTune.Api/
RUN dotnet publish QuizTune.Api/QuizTune.Api.csproj -c Release -o /app/publish

# ---------- Runtime Stage ----------
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS runtime

WORKDIR /app

COPY --from=builder /app/publish .

RUN groupadd -r appgroup && useradd -m -r appuser -g appgroup
USER appuser

EXPOSE 8080

ENTRYPOINT ["dotnet", "QuizTune.Api.dll"]
