Docs / Start

Deployment

The stack is three containers behind nginx: the React dashboard, the FastAPI backend, and (optionally) a standalone governance worker. Reports and the database persist in named Docker volumes.

Topology

browser ──► nginx (:3001, SPA config)

                └──► FastAPI backend (:8001)
                        ├── SQLite / PostgreSQL
                        ├── periscope-reports volume
                        └── governance worker (optional container)

Production checklist

# bare-metal alternative
uvicorn radar_scanner.main:app --host 0.0.0.0 --port 8000 --workers 4

Reports volume

docker exec periscope-backend ls /app/reports/
docker cp periscope-backend:/app/reports/<filename> .
# volume survives restarts; deleted only by `docker compose down -v`

SARIF in CI

Set ENABLE_SARIF_OUTPUT=true to write SARIF 2.1.0 reports alongside text reports, then upload them with GitHub's codeql-action/upload-sarif action — findings appear as code-scanning alerts.

Source: docker-compose.yml · nginx.conf · backend/README.md (Deployment)

← ConfigurationScanning modes →