docker testing + setup hosting dx app via aspnet

This commit is contained in:
2025-05-18 00:06:23 -04:00
parent 34c050384b
commit 24ddb19013
10 changed files with 150 additions and 3275 deletions

1
AobaServer/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
wwwroot/*

View File

@@ -36,4 +36,12 @@
<Protobuf Include="Proto\Auth.proto"></Protobuf>
</ItemGroup>
<Target Name="BuildDioxusClientDebug" BeforeTargets="Build" Condition="'$(Configuration)'=='DEBUG'">
<Exec Command="dx build --platform web" WorkingDirectory="..\AobaClient" />
<Exec Command="rm -rf wwwroot/*" />
<Exec Command="cp -r target\dx\aoba-client\debug\web\public\* ../AobaServer/wwwroot/" WorkingDirectory="..\AobaClient" />
</Target>
<Target Name="BuildDioxusClientRelease" BeforeTargets="Build" Condition="'$(Configuration)'!='DEBUG'">
<Exec Command="dx bundle --platform web -r --out-dir ../AobaServer/wwwroot" WorkingDirectory="..\AobaClient" />
</Target>
</Project>

View File

@@ -4,27 +4,27 @@
FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base
USER $APP_UID
WORKDIR /app
EXPOSE 8080
EXPOSE 8081
EXPOSE 8614
EXPOSE 8615
# This stage is used to build the service project
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
ARG BUILD_CONFIGURATION=Release
WORKDIR /src
COPY ["AobaV2/AobaV2.csproj", "AobaV2/"]
RUN dotnet restore "./AobaV2/AobaV2.csproj"
COPY ["AobaServer/AobaServer.csproj", "AobaServer/"]
RUN dotnet restore "./AobaServer/AobaServer.csproj"
COPY . .
WORKDIR "/src/AobaV2"
RUN dotnet build "./AobaV2.csproj" -c $BUILD_CONFIGURATION -o /app/build
WORKDIR "/src/AobaServer"
RUN dotnet build "./AobaServer.csproj" -c $BUILD_CONFIGURATION -o /app/build
# This stage is used to publish the service project to be copied to the final stage
FROM build AS publish
ARG BUILD_CONFIGURATION=Release
RUN dotnet publish "./AobaV2.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
RUN dotnet publish "./AobaServer.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
# This stage is used in production or when running from VS in regular mode (Default when not using the Debug configuration)
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "AobaV2.dll"]
ENTRYPOINT ["dotnet", "AobaServer.dll"]

View File

@@ -109,15 +109,16 @@ if (!app.Environment.IsDevelopment())
app.UseGrpcWeb(new GrpcWebOptions { DefaultEnabled = true });
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseCors();
app.UseAuthentication();
app.UseAuthorization();
app.MapControllers();
app.MapObserability();
app.MapGrpcService<AobaRpcService>()
@@ -125,8 +126,6 @@ app.MapGrpcService<AobaRpcService>()
app.MapGrpcService<AobaAuthService>()
.AllowAnonymous()
.RequireCors("RPC");
app.MapFallbackToFile("index.html");
app.Run();