- Shell 54.3%
- Dockerfile 45.1%
- ASP.NET 0.6%
|
All checks were successful
Build and publish Mono XSP / build (push) Successful in 3m49s
|
||
|---|---|---|
| .forgejo/workflows | ||
| docker-test | ||
| docs | ||
| mono-base | ||
| sample-site | ||
| tests | ||
| .dockerignore | ||
| .gitignore | ||
| README.md | ||
Mono 6.12 / XSP 4 / RoslynMono container base
This application-neutral base contains Mono 6.12.0.200, two XSP 4.7.1 listeners built once with the .NET 10 SDK, and the signed Grupo Leitz RoslynMono provider plus C#/VB compiler payload.
It deliberately includes no application, default listener, fixed user, application-specific configuration/dependencies, or production entrypoint.
Important: amd64 only. Pin a published image digest, never a mutable tag. Keep existing application images until replacements are tested.
Source: https://code.grupoleitz.com/Leitz-Group/mono-containers.git.
Building and testing locally
Local builds require BuildKit; network access to the Mono APT archive, GitHub
(XSP source) and the private NuGet feed; and a git-ignored .env defining
LEITZ_NUGET_TOKEN. Source it in your shell rather than passing the token as a
build argument:
# build
set -a; . ./.env; set +a
# alternatively export LEITZ_NUGET_TOKEN from a protected secret manager
docker build --check -f mono-base/Dockerfile .
docker build --secret id=leitz_nuget_token,env=LEITZ_NUGET_TOKEN \
-f mono-base/Dockerfile -t mono-xsp-roslynmono:candidate .
unset LEITZ_NUGET_TOKEN
# run sample consumers
docker compose -f docker-test/docker-compose.yml up --build -d
# HTTP sample: http://127.0.0.1:18080/csharp.aspx and /visualbasic.aspx
# FastCGI through Caddy: http://127.0.0.1:18081/csharp.aspx and /visualbasic.aspx
docker compose -f docker-test/docker-compose.yml down
# smoke test
./tests/smoke.sh # starts its own Compose stack; see docs/testing.md
Documentation
- Using the base image — consumer configuration, HTTP and FastCGI examples.
- Image internals — pinned inputs, build stages, layout and compatibility findings.
- Testing — Compose ports, overrides, published-digest smoke tests.
- Forgejo release workflow — publishing, tags and CI setup; requires runner and secret configuration.