No description
  • CSS 55.5%
  • HTML 36.9%
  • Dockerfile 4.6%
  • C# 3%
Find a file
2026-03-14 17:32:21 +01:00
.forgejo/workflows Update workflow branch from 'main' to 'master' in publish-container.yml and README.md 2026-03-14 17:32:21 +01:00
.vscode Firest commit 2026-03-14 17:25:44 +01:00
src/MaddoScientisto.Web Firest commit 2026-03-14 17:25:44 +01:00
.dockerignore Firest commit 2026-03-14 17:25:44 +01:00
.gitignore Firest commit 2026-03-14 17:25:44 +01:00
Dockerfile Firest commit 2026-03-14 17:25:44 +01:00
maddoscientisto.net.slnx Firest commit 2026-03-14 17:25:44 +01:00
nginx.conf Firest commit 2026-03-14 17:25:44 +01:00
README.md Update workflow branch from 'main' to 'master' in publish-container.yml and README.md 2026-03-14 17:32:21 +01:00

maddoscientisto.net

Blazor WebAssembly (.NET 10) static site packaged as an Nginx container and publishable to a Forgejo container registry.

Project layout

  • src/MaddoScientisto.Web - Blazor WebAssembly app
  • Dockerfile - multi-stage build and Nginx runtime image
  • nginx.conf - static hosting and SPA fallback
  • .forgejo/workflows/publish-container.yml - Forgejo Actions workflow for build and push

Local development

dotnet restore
dotnet build src/MaddoScientisto.Web/MaddoScientisto.Web.csproj -c Release
dotnet run --project src/MaddoScientisto.Web/MaddoScientisto.Web.csproj

Local publish check

dotnet publish src/MaddoScientisto.Web/MaddoScientisto.Web.csproj -c Release -o .\artifacts\publish

Published static files are under .\artifacts\publish\wwwroot.

Docker build and run

docker build -t maddoscientisto-web:local .
docker run --rm -p 8080:80 maddoscientisto-web:local

Open http://localhost:8080.

Forgejo registry configuration

Set these Forgejo Actions variables:

  • FORGEJO_REGISTRY (example: forgejo.example.com)
  • IMAGE_NAMESPACE (example: maddo)
  • IMAGE_NAME (example: maddoscientisto-web)

Set these Forgejo Actions secrets:

  • FORGEJO_REGISTRY_USERNAME
  • FORGEJO_REGISTRY_TOKEN

Workflow behavior

The workflow in .forgejo/workflows/publish-container.yml runs on pushes to master (and manual dispatch), builds the container image, and pushes:

  • ${FORGEJO_REGISTRY}/${IMAGE_NAMESPACE}/${IMAGE_NAME}:latest
  • ${FORGEJO_REGISTRY}/${IMAGE_NAMESPACE}/${IMAGE_NAME}:sha-<12-char-commit>