diff --git a/scripts/new-dotnet-worker-app.sh b/scripts/new-dotnet-worker-app.sh index 5129058..e52100f 100755 --- a/scripts/new-dotnet-worker-app.sh +++ b/scripts/new-dotnet-worker-app.sh @@ -25,12 +25,11 @@ mkdir -p "$APP_DIR" cd "$APP_DIR" cat > "$PROJECT_NAME.csproj" < + net8.0 enable enable - Exe @@ -40,16 +39,35 @@ cat > "$PROJECT_NAME.csproj" < Program.cs <(); -var host = builder.Build(); -host.Run(); +var app = builder.Build(); + +var rootPath = Environment.GetEnvironmentVariable("ROOT_PATH"); +if (!string.IsNullOrWhiteSpace(rootPath)) +{ + app.UsePathBase(rootPath); +} + +app.MapGet("/", () => Results.Json(new +{ + name = "$APP_NAME", + service = "$APP_ID", + type = "worker", + status = "ok" +})); + +app.MapGet("/health", () => Results.Json(new +{ + status = "ok" +})); + +app.Run(); public sealed class Worker : BackgroundService { @@ -92,8 +110,10 @@ WORKDIR /src COPY . . RUN dotnet publish "$PROJECT_NAME.csproj" -c Release -o /app/publish -FROM mcr.microsoft.com/dotnet/runtime:8.0 +FROM mcr.microsoft.com/dotnet/aspnet:8.0 WORKDIR /app +ENV ASPNETCORE_URLS=http://+:8080 +EXPOSE 8080 COPY --from=build /app/publish . ENTRYPOINT ["dotnet", "$PROJECT_NAME.dll"] EOF_DOCKER @@ -109,6 +129,13 @@ cat > README.md <