Files
2026-04-19 13:12:04 +03:00

28 lines
979 B
Docker

FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS base
USER $APP_UID
WORKDIR /app
EXPOSE 8080
EXPOSE 8081
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
ARG BUILD_CONFIGURATION=Release
WORKDIR /src
COPY ["GymLogAI.API/GymLogAI.API.csproj", "GymLogAI.API/"]
COPY ["GymLogAI.Application/GymLogAI.Application.csproj", "GymLogAI.Application/"]
COPY ["GymLogAI.AI/GymLogAI.AI.csproj", "GymLogAI.AI/"]
COPY ["GymLogAI.Core/GymLogAI.Core.csproj", "GymLogAI.Core/"]
COPY ["GymLogAI.Persistence/GymLogAI.Persistence.csproj", "GymLogAI.Persistence/"]
RUN dotnet restore "GymLogAI.API/GymLogAI.API.csproj"
COPY . .
WORKDIR "/src/GymLogAI.API"
RUN dotnet build "./GymLogAI.API.csproj" -c $BUILD_CONFIGURATION -o /app/build
FROM build AS publish
ARG BUILD_CONFIGURATION=Release
RUN dotnet publish "./GymLogAI.API.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "GymLogAI.API.dll"]