OPS-1: Dockerfiles (net10 API + nginx frontend) + production config
- GerbilManagerWebAPI/Dockerfile: net7->net10 multi-stage; build context=repo root (includes ServiceDefaults); port 8080 (.NET 10 container default) - gerbil-manager-web/Dockerfile: drop VITE_API_BASE_URL build-arg; nginx proxies /api/* to api:8080 (strip prefix), /scalar, /openapi/ -- one published port 80 - gerbil-manager-web/src/api/client.ts: default API_BASE_URL /api (relative), no hostname coupling at build time; Aspire still injects absolute LAN URL in dev - GerbilManagerWebAPI/Program.cs: run EF Migrate() at startup always (not Dev-only) - GerbilManager.ServiceDefaults/Extensions.cs: expose /health + /alive in all environments (compose healthcheck requires them in Production) Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -43,12 +43,9 @@ app.MapDefaultEndpoints();
|
||||
app.MapOpenApi();
|
||||
app.MapScalarApiReference();
|
||||
|
||||
if (app.Environment.IsDevelopment())
|
||||
{
|
||||
// Aspire provisions an empty database in dev — bring the schema up to date.
|
||||
using var scope = app.Services.CreateScope();
|
||||
// Apply EF migrations at startup (no-op if schema is current; safe for single-instance deploy).
|
||||
using (var scope = app.Services.CreateScope())
|
||||
scope.ServiceProvider.GetRequiredService<ApplicationContext>().Database.Migrate();
|
||||
}
|
||||
|
||||
app.UseCors(LanCorsPolicy);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user