boxlang-runtime-docker — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited boxlang-runtime-docker (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
BoxLang ships three official Docker images for different use cases: a headless CLI image, a MiniServer web runtime, and a MiniServer + Nginx reverse-proxy image. All images are available in Debian (default) and Alpine (-alpine) flavors and as nightly snapshots (-snapshot).
| Image | Purpose | Default port |
|---|---|---|
ortussolutions/boxlang:cli | Run scripts, REPL, batch jobs | — |
ortussolutions/boxlang:miniserver | Standalone web server | 8080 |
ortussolutions/boxlang:miniserver-nginx | Web server + Nginx reverse proxy | 80 |
| Suffix | Description |
|---|---|
| _(none)_ | Debian base |
-alpine | Alpine Linux — smaller image (~50% smaller) |
-snapshot | Latest nightly snapshot build |
docker run --rm \
-v "$(pwd):/scripts" \
ortussolutions/boxlang:cli \
boxlang /scripts/myscript.bxsdocker run --rm -it ortussolutions/boxlang:cli boxlangdocker run --rm \
-e MY_VAR=hello \
-v "$(pwd):/scripts" \
ortussolutions/boxlang:cli \
boxlang /scripts/greet.bxsThe MiniServer image serves a BoxLang web application from /app on port 8080.
docker run --rm \
-p 8080:8080 \
-v "$(pwd)/src:/app" \
ortussolutions/boxlang:miniserverdocker run --rm \
-p 8080:8080 \
-e "BOXLANG_MODULES=bx-mail bx-pdf" \
-v "$(pwd)/src:/app" \
ortussolutions/boxlang:miniserver| Variable | Description |
|---|---|
BOXLANG_MODULES | Space-delimited list of BoxLang modules to install on startup |
BOXLANG_DEBUG | true to enable verbose BoxLang debug output |
MINISERVER_JSON | Override path to the miniserver.json config file |
JAVA_OPTS | JVM options (e.g., -Xmx512m -XX:+UseG1GC) |
MAX_MEMORY | Maximum JVM heap (e.g., 512m) — shortcut for -Xmx |
MIN_MEMORY | Minimum JVM heap (e.g., 128m) — shortcut for -Xms |
Place miniserver.json in your /app directory (or point to it with MINISERVER_JSON) to customize the server:
{
"port": 8080,
"webroot": "/app",
"host": "0.0.0.0",
"debug": false,
"ssl": false
}The MiniServer image includes a built-in health check endpoint. Default behavior:
| Setting | Value |
|---|---|
| Check interval | 20 seconds |
| Timeout | 30 seconds |
| Retries | 15 |
| URI | /healthcheck |
Override the health check URI:
docker run -e HEALTHCHECK_URI=/status ortussolutions/boxlang:miniserverThe miniserver-nginx image bundles BoxLang MiniServer behind Nginx for SSL termination, caching, and production deployments:
docker run --rm \
-p 80:80 \
-p 443:443 \
-v "$(pwd)/src:/app" \
-v "$(pwd)/nginx/conf.d:/etc/nginx/conf.d" \
ortussolutions/boxlang:miniserver-nginxFROM ortussolutions/boxlang:miniserver
# Set environment
ENV BOXLANG_MODULES="bx-mail bx-pdf"
ENV MAX_MEMORY=512m
# Copy application
COPY --chown=boxlang:boxlang src/ /app/
# Copy config
COPY --chown=boxlang:boxlang config/miniserver.json /app/miniserver.json
EXPOSE 8080# Build stage
FROM ortussolutions/boxlang:cli-alpine AS builder
WORKDIR /build
COPY . .
# Run any build steps (compile, test, etc.)
RUN boxlang build.bxs
# Runtime stage
FROM ortussolutions/boxlang:miniserver-alpine
COPY --from=builder /build/dist /app
COPY --chown=boxlang:boxlang miniserver.json /app/miniserver.json
ENV MAX_MEMORY=256m
EXPOSE 8080version: "3.9"
services:
app:
image: ortussolutions/boxlang:miniserver
ports:
- "8080:8080"
environment:
BOXLANG_MODULES: "bx-mail"
MAX_MEMORY: 512m
BOXLANG_DEBUG: "false"
volumes:
- ./src:/app
- boxlang-home:/root/.boxlang
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/healthcheck"]
interval: 20s
timeout: 10s
retries: 5
start_period: 30s
restart: unless-stopped
db:
image: mariadb:11
environment:
MARIADB_ROOT_PASSWORD: secret
MARIADB_DATABASE: myapp
volumes:
- db-data:/var/lib/mysql
volumes:
boxlang-home:
db-data:-alpine) — significantly smaller footprintortussolutions/boxlang:1.2.3-miniserver) rather than latest for reproducibility-v $(pwd)/src:/app:roBOXLANG_MODULES lists all runtime module dependenciesMAX_MEMORY / MIN_MEMORY or JAVA_OPTS~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.