Added docker-compose. Updated startups for API and Web layer.
Some checks failed
ci / build-test (push) Has been cancelled
ci / publish-image (push) Has been cancelled

This commit is contained in:
2026-02-24 00:25:03 -05:00
parent 80ca1296e5
commit ab3524ea20
13 changed files with 166 additions and 41 deletions

View File

@@ -0,0 +1,8 @@
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
WORKDIR /app
COPY . .
RUN dotnet publish -c Release -o out
FROM nginx:alpine
COPY --from=build /app/out/wwwroot /usr/share/nginx/html
COPY JSMR.UI.Blazor/nginx.conf /etc/nginx/conf.d/default.conf

View File

@@ -10,9 +10,14 @@ var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("#app");
builder.RootComponents.Add<HeadOutlet>("head::after");
string apiBase = builder.Configuration["ApiBaseUrl"] ?? builder.HostEnvironment.BaseAddress;
//string apiBase = builder.Configuration["ApiBaseUrl"] ?? builder.HostEnvironment.BaseAddress;
//Console.WriteLine(apiBase);
Console.WriteLine(apiBase);
// If ApiBaseUrl is set (VS dev), use it. Otherwise (docker/prod), use same-origin.
var apiBase = builder.Configuration["ApiBaseUrl"];
if (string.IsNullOrWhiteSpace(apiBase))
apiBase = builder.HostEnvironment.BaseAddress;
// Old way
//builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(apiBase) });

32
JSMR.UI.Blazor/nginx.conf Normal file
View File

@@ -0,0 +1,32 @@
server {
listen 80;
server_name _;
root /usr/share/nginx/html;
index index.html;
# Blazor WASM: serve static files, and fallback to index.html for client-side routes
location / {
try_files $uri $uri/ /index.html;
}
# Proxy API calls to the api service (docker-compose DNS name: api)
location /api/ {
proxy_pass http://api:8080;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
# Proxy auth endpoints too (yours are /auth/login, /auth/logout)
location /auth/ {
proxy_pass http://api:8080;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

View File

@@ -0,0 +1,3 @@
{
"ApiBaseUrl": "https://localhost:7277"
}

View File

@@ -1,3 +1,3 @@
{
"ApiBaseUrl": "https://localhost:7277"
"ApiBaseUrl": ""
}