About this project

DashLord is a dashboard designed to track technical best practices across a set of websites and APIs. Data acquisition and report generation are fully automated via GitHub Actions. ## How it works The process takes place in two steps: 1. **Data acquisition**: for each configured URL, each analysis tool is run and produces a JSON file versioned in the repository. 2. **Report generation**: the results are aggregated and compressed to produce a static website, published on the `gh-pages` branch via GitHub Pages. ## Deployment To deploy your own instance, create a new repository from the DashLord template, edit the `dashlord.yml` file to define the URLs to scan, then run the `DashLord scans` workflow from the Actions tab. The report is then publicly accessible at `https://[organization].github.io/[repository]`. ## Configuration The `dashlord.yml` file allows you to configure: - The dashboard title, description, and entity - The list of URLs to scan, with titles, tags, linked repositories, and associated Docker images - The individual activation or deactivation of each analysis tool ## Integrated tools DashLord relies on multiple analysis tools, individually activatable: - **Security**: Nmap (port scanning), ZAP, Nuclei, TestSSL, Trivy (Docker image vulnerabilities), Dependabot (GitHub security alerts), CodeQL (Code Scan alerts) - **Performance and availability**: Lighthouse, updown.io (availability monitoring via API key) - **Technical**: Wappalyzer (technology detection), Mozilla HTTP Observatory, 404 error detection, screenshot capture - **Compliance**: third-party script detection, /stats page, accessibility statement The scan frequency is configurable (defaults to every Sunday at midnight) and workflows can also be triggered manually.