FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build WORKDIR /repo COPY Directory.Build.props . COPY global.json . COPY src/Directory.Build.props src/ COPY src/Directory.Packages.props src/ COPY src/FiscalOS.Core/FiscalOS.Core.csproj src/FiscalOS.Core/ COPY src/FiscalOS.Infra/FiscalOS.Infra.csproj src/FiscalOS.Infra/ COPY src/FiscalOS.ServiceDefaults/FiscalOS.ServiceDefaults.csproj src/FiscalOS.ServiceDefaults/ COPY src/FiscalOS.API/FiscalOS.API.csproj src/FiscalOS.API/ COPY src/FiscalOS.AdminCLI/FiscalOS.AdminCLI.csproj src/FiscalOS.AdminCLI/ RUN dotnet restore src/FiscalOS.API/FiscalOS.API.csproj && \ dotnet restore src/FiscalOS.AdminCLI/FiscalOS.AdminCLI.csproj COPY src/ src/ RUN dotnet publish src/FiscalOS.API/FiscalOS.API.csproj \ -c Release \ -o /publish/api \ --no-restore && \ dotnet publish src/FiscalOS.AdminCLI/FiscalOS.AdminCLI.csproj \ -c Release \ -o /publish/admincli \ --no-restore FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS final WORKDIR /app COPY --from=build /publish/api . COPY --from=build /publish/admincli /usr/local/lib/admincli ENV PATH="/usr/local/lib/admincli:${PATH}" EXPOSE 8080 ENTRYPOINT ["dotnet", "FiscalOS.API.dll"]