A full‑stack app to explore IoT devices, link them to critical infrastructure sectors, and surface known vulnerabilities with AI‑assisted insights.
- Browse and manage IoT devices
- Assign devices to one or more sectors
- Auto‑enrich devices with NIST CVE data and generate AI summaries via Ollama
- Color‑coded risk indicators and clean UI (SvelteKit + Tailwind + DaisyUI)
Prerequisites: Docker Desktop with Compose. For GPU, install appropriate drivers and Docker toolkit.
Using the frontend-and-backend-images.tar you can skip building the images local entirely:
First run this command to load the images:
docker load -i frontend-and-backend-images.tar
you can download the frontend-and-backend-images.tar file here
Then run one of the following commands
Go to Docker main to get all the following Compose.yaml files
- CPU:
docker compose up -d --build
- NVIDIA GPU:
docker compose -f Compose.yaml -f Compose.nvidia.yaml up -d
- AMD GPU:
docker compose -f Compose.yaml -f Compose.amd.yaml up -d
-
Remove the image and stop services
docker compose down -v
Note:-vwill delete the database along with recently added IoT device(s)
-
Stop Services
docker-compose stop
- Frontend : http://localhost:4173/
- Backend : http://localhost:8080/
- Ollama : http://localhost:11434/
- Admin: http://localhost:8080/admin/
- API: http://localhost:8080/api/
- Swagger UI: http://localhost:8080/docs/
- ReDoc: http://localhost:8080/redoc/redoc/
- Frontend (SvelteKit): PolySectorMap
- Backend (Django + SQLite): BackEnd/iot_backend
- Local LLM (Ollama): HTTP API at :11434 (see BackEnd/iot_backend/api.md)
- Root compose files: Compose.yaml, Compose.nvidia.yaml, Compose.amd.yaml
- Frontend files: PolySectorMap/src/routes/+page.svelte
- Backend DB: BackEnd/iot_backend/db.sqlite3
cd PolySectorMapyarn installyarn run dev- Build:
yarn run build
-
cd BackEnd -
💻 Create venv and install:
python -m venv venv-backend && source venv-backend/bin/activatepip install -r iot_backend/requirements.txt
-
🐛 Turn on debug mode
- Create an .env file with the debug flag:
- macOS/Linux:
printf 'DJANGO_DEBUG="True"\n' > iot_backend/.env - Windows (PowerShell):
Set-Content -Path iot_backend/.env -Value 'DJANGO_DEBUG="True"'
- macOS/Linux:
- Create an .env file with the debug flag:
-
🚀 Migrate and run:
python iot_backend/manage.py migratepython iot_backend/manage.py runserver 0.0.0.0:8080
- NIST CVE enrichment and AI summarization are triggered on device creation or via management utilities.
- Batch update (management command):
python BackEnd/iot_backend/manage.py update_threats
- Utility script (optional): BackEnd/update_all_device_threats.py
- Ollama endpoints and examples (generate/chat/embed, model ops): see BackEnd/iot_backend/api.md