From 0658f743b401d6c96f771cddc551ae966bb468cb Mon Sep 17 00:00:00 2001 From: oval Date: Tue, 7 Jul 2026 18:49:40 +0000 Subject: [PATCH] =?UTF-8?q?Update=20README.md=20=E2=80=94=20container=20we?= =?UTF-8?q?b=20UI=20with=20JSON/MD/PDF=20export?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 4a4807b..82124b9 100644 --- a/README.md +++ b/README.md @@ -643,10 +643,24 @@ container, shell into the Docker host, shutdown VM. All test options run ### `webui/app.py` -Minimal web dashboard (Python 3 stdlib only, zero dependencies). Serves on -port 8080. Features: dark-themed UI with run buttons per playbook, async output -streaming via `fetch`, JSON report downloads. Handles `POST /api/run` to execute -playbooks via `docker run` and `GET /reports/` for file downloads. +Minimal web dashboard for the **Alpine Docker Host VM**. Python 3 stdlib only, +zero dependencies. Serves on port 8080. Features: dark-themed UI with run buttons +per playbook, async output streaming, JSON report downloads. Runs playbooks +via `docker run ansible-node`. + +### `webui/container-app.py` + +Web dashboard for the **Ansible container** itself. Serves on port 8080. Features: +dark-themed UI, run buttons, async output, **JSON / Markdown / PDF export**. +PDF generation via `fpdf2` (pure Python, zero system deps). Markdown via bundled +`render_report.py`. Started automatically when the container runs with no arguments. + +### `scripts/entrypoint.sh` + +Container entrypoint. If invoked with no arguments, starts the web UI +(`container-app.py`). If arguments are given, passes them directly to +`ansible-playbook`. Enables both `docker run -p 8080:8080 ansible-node` and +`docker run ansible-node site.yml`. ### `inventory.ini`