- StratoCyberLab is a local cyber range built around Docker Compose.
- The root stack starts
hackerlab,dashboard, and optionalollama. - Most repository content lives in:
dashboard/client- Svelte frontenddashboard/server- Python backend and websocket SSH serverchallenges/- individual CTF-style challengesclasses/- class/lab environmentscampaigns/- grouped challenge content
- Keep changes narrow and consistent with existing patterns.
- When editing a challenge, preserve the expected files:
meta.json,docker-compose.yml,README.md, andauto-solve.sh. - When adding services to challenges or classes, use the shared
playground-netnetwork and avoid reusing static IPs already documented indocs/development.md.
- Full-project verification is
./run_tests.shbut do not run it as it takes a lot of time and cannot be executed in a sandbox - Frontend work in
dashboard/client:npm cinpm run buildnpx eslint src
- Backend work in
dashboard/server:pip install -r requirements.txt -r requirements-dev.txtpylint .python app.py