remove user-secrets approach & prepare a pilot deploy
This commit is contained in:
+31
-27
@@ -1,36 +1,40 @@
|
||||
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS base
|
||||
WORKDIR /app
|
||||
EXPOSE 80
|
||||
EXPOSE 443
|
||||
# Balinyaar API — build context is `server/` (see the root docker-compose.yml).
|
||||
#
|
||||
# The csproj/props files are copied on their own first so `dotnet restore` lands in a layer that only
|
||||
# re-runs when a project reference or package version actually changes; the source copy below it churns
|
||||
# on every commit. Directory.Packages.props is the central version manifest — restore fails without it.
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
|
||||
WORKDIR /src
|
||||
COPY ["../Directory.Packages.props", "./"]
|
||||
COPY ["src/API/Baya.Web.Api/Baya.Web.Api.csproj", "src/API/Baya.Web.Api/"]
|
||||
COPY ["src/API/Baya.WebFramework/Baya.WebFramework.csproj", "src/API/Baya.WebFramework/"]
|
||||
COPY ["src/API/Plugins/Baya.Web.Plugins.Grpc/Baya.Web.Plugins.Grpc.csproj", "src/API/Plugins/Baya.Web.Plugins.Grpc/"]
|
||||
COPY ["src/Core/Baya.Application/Baya.Application.csproj", "src/Core/Baya.Application/"]
|
||||
COPY ["src/Core/Baya.Domain/Baya.Domain.csproj", "src/Core/Baya.Domain/"]
|
||||
COPY ["src/Infrastructure/Baya.Infrastructure.CrossCutting/Baya.Infrastructure.CrossCutting.csproj", "src/Infrastructure/Baya.Infrastructure.CrossCutting/"]
|
||||
COPY ["src/Infrastructure/Baya.Infrastructure.Identity/Baya.Infrastructure.Identity.csproj", "src/Infrastructure/Baya.Infrastructure.Identity/"]
|
||||
COPY ["src/Infrastructure/Baya.Infrastructure.Persistence/Baya.Infrastructure.Persistence.csproj", "src/Infrastructure/Baya.Infrastructure.Persistence/"]
|
||||
COPY ["src/Infrastructure/Baya.Infrastructure.Monitoring/Baya.Infrastructure.Monitoring.csproj", "src/Infrastructure/Baya.Infrastructure.Monitoring/"]
|
||||
COPY ["src/Shared/Baya.SharedKernel/Baya.SharedKernel.csproj", "src/Shared/Baya.SharedKernel/"]
|
||||
COPY ["src/Tests/Baya.Test.Infrastructure.Identity/Baya.Test.Infrastructure.Identity/Baya.Test.Infrastructure.Identity.csproj", "src/Tests/Baya.Test.Infrastructure.Identity/Baya.Test.Infrastructure.Identity/"]
|
||||
COPY ["src/Tests/Baya.Tests.Setup/Baya.Tests.Setup.csproj", "src/Tests/Baya.Tests.Setup/"]
|
||||
|
||||
COPY Directory.Packages.props ./
|
||||
COPY src/API/Baya.Web.Api/Baya.Web.Api.csproj src/API/Baya.Web.Api/
|
||||
COPY src/API/Baya.WebFramework/Baya.WebFramework.csproj src/API/Baya.WebFramework/
|
||||
COPY src/API/Plugins/Baya.Web.Plugins.Grpc/Baya.Web.Plugins.Grpc.csproj src/API/Plugins/Baya.Web.Plugins.Grpc/
|
||||
COPY src/Core/Baya.Application/Baya.Application.csproj src/Core/Baya.Application/
|
||||
COPY src/Core/Baya.Domain/Baya.Domain.csproj src/Core/Baya.Domain/
|
||||
COPY src/Infrastructure/Baya.Infrastructure.CrossCutting/Baya.Infrastructure.CrossCutting.csproj src/Infrastructure/Baya.Infrastructure.CrossCutting/
|
||||
COPY src/Infrastructure/Baya.Infrastructure.Identity/Baya.Infrastructure.Identity.csproj src/Infrastructure/Baya.Infrastructure.Identity/
|
||||
COPY src/Infrastructure/Baya.Infrastructure.Monitoring/Baya.Infrastructure.Monitoring.csproj src/Infrastructure/Baya.Infrastructure.Monitoring/
|
||||
COPY src/Infrastructure/Baya.Infrastructure.Persistence/Baya.Infrastructure.Persistence.csproj src/Infrastructure/Baya.Infrastructure.Persistence/
|
||||
COPY src/Shared/Baya.SharedKernel/Baya.SharedKernel.csproj src/Shared/Baya.SharedKernel/
|
||||
|
||||
RUN dotnet restore src/API/Baya.Web.Api/Baya.Web.Api.csproj
|
||||
|
||||
RUN dotnet restore "src/API/Baya.Web.Api/Baya.Web.Api.csproj"
|
||||
COPY . .
|
||||
WORKDIR "src/API/Baya.Web.Api"
|
||||
RUN dotnet build "Baya.Web.Api.csproj" -c Release -o /app/build
|
||||
RUN dotnet publish src/API/Baya.Web.Api/Baya.Web.Api.csproj \
|
||||
-c Release -o /app/publish /p:UseAppHost=false --no-restore
|
||||
|
||||
FROM build AS publish
|
||||
RUN dotnet publish "Baya.Web.Api.csproj" -c Release -o /app/publish /p:UseAppHost=false --no-restore
|
||||
|
||||
FROM base AS final
|
||||
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS final
|
||||
WORKDIR /app
|
||||
COPY --from=publish /app/publish .
|
||||
COPY --from=build /app/publish .
|
||||
|
||||
# TLS is terminated by Caddy; the API speaks plain HTTP on the shared container network only.
|
||||
ENV ASPNETCORE_URLS=http://+:8080
|
||||
EXPOSE 8080
|
||||
|
||||
# Written to by the Serilog file sink (Development) and the local-disk object storage seam — both are
|
||||
# bind-mounted in compose so an image rebuild doesn't discard uploaded verification documents.
|
||||
RUN mkdir -p /app/logs /app/data/object-storage
|
||||
|
||||
ENTRYPOINT ["dotnet", "Baya.Web.Api.dll"]
|
||||
|
||||
Reference in New Issue
Block a user