📖 Read-only mirror.
skoposis published from the canonical AI-Factory monorepo. Pull requests are not accepted — any commit pushed here is overwritten byscripts/mirror_satellites.shon the next sync. 🐞 Found a bug or have a request? Please open an issue.
Self-hosted nginx & Apache analytics and AI security for your server fleet — GA-like HTTP dashboards, Security Center with 3D threat map, Prometheus Observability (APM KPIs + 3D service graph), scan history, and an AI agent with voice input. No third-party trackers; data stays on your infrastructure.
Live demo · Landing · nine built-in themes
In Greek, skopos (σκοπός) means watcher or scout. SKOPOS is the fleet observability satellite of the AICOM / AIMarket ecosystem: nginx traffic over SSH, security posture across factory / metis / oracle hosts, and an LLM analyst in the sidebar.
| Role | SSH log collection → SQLite/PostgreSQL analytics → Security Center + AI agent |
| Live demo | skopos.modelmarket.dev |
| Landing (GitHub Pages) | alexar76.github.io/skopos |
| Monitors | nginx access logs (primary), Apache combined, CPU/RAM/disk, ports, fail2ban, port knocks |
| Charter | Read-only SSH probes · self-hosted data · optional dashboard password |
- Analytics — nginx access logs over SSH, SQLite, Streamlit charts, traffic globe
- Security — CPU/RAM/disk/network, port audit, firewall, cyberpunk 3D threat map, consolidated Security Report
- Scan History — score timeline, findings trends, snapshot comparison
- Auto-scan — configurable background security scans (default every 60 min)
- AI Agent — OpenRouter (default), DeepSeek, OpenAI, Anthropic, Ollama, LM Studio; sidebar chat with voice input
- i18n — English (default), Russian, Spanish (
locales/)
See docs/quickstart.md.
cp servers.example.yaml servers.yaml
cp agent.example.yaml agent.yaml
export OPENROUTER_API_KEY=sk-or-...
python skoposctl.py collect
python skoposctl.py security-scan
streamlit run dashboard.py| Page | URL |
|---|---|
| Analytics | http://localhost:8501 |
| Security | sidebar → Security |
| Scan History | sidebar → Scan History |
| Settings | sidebar → Settings |
- Security Score (0–100, grade A–F) in sidebar on every page
- Threat alerts banner when critical/high issues exist
- Dashboard password — set/change/regenerate in the admin panel; only a
salted PBKDF2 hash is stored in the DB (env
SKOPOS_DASHBOARD_PASSWORDstill supported for bootstrap). A post-deploy modal prompts you to set one, and passwords expire after 90 days with a Telegram reminder. See configuration → Dashboard password & rotation - SKOPOS_SSH_STRICT_HOST_KEYS=1 — verify SSH host keys (recommended)
- See docs/audit-findings.md
| Doc | Description |
|---|---|
| In-app Documentation | Guides with screenshots (also in sidebar / top bar) |
| Quick Start | 5-minute setup |
| User Guide | Full UI reference |
| Use Cases | Common workflows |
| Security Module | Architecture & extension |
| nginx scope | Analytics are nginx-only — disclaimer & log format |
| CHANGELOG | Release notes |
Analytics scope: traffic dashboards parse nginx access logs by default. Apache combined logs are supported when
apache.enabled: true. Security probes are stack-agnostic.
Edit servers.yaml — SSH host, nginx log paths. See servers.example.yaml.
For per-domain analytics, include $host in nginx log_format.
Default provider: OpenRouter via OPENROUTER_API_KEY. Edit agent.yaml for DeepSeek, OpenAI, Anthropic, Ollama, or LM Studio.
For a full prioritized remediation report, open Security → Security Report. The sidebar agent supports follow-up chat (including voice) on every page.
docker compose up -d --buildOpen http://localhost:8501
MIT — see LICENSE.
pip install -r requirements.txt pytest pytest-cov
bash scripts/ci_coverage_badge.sh -- tests/ -q --cov=skopos227 pytest cases · line coverage on skopos/ tracked in docs/badges/coverage.svg (regenerate with bash scripts/ci_coverage_badge.sh, verified by CI).
Captured from skopos.modelmarket.dev — Analytics dashboards (traffic timeline + country-share donuts) in six themes (sidebar Theme picker):
Light · Premium
Cosmos (midnight) · Ocean
Aurora · Slate
| View | Screenshot |
|---|---|
| Security — 3D Threat Map | ![]() |
| Sidebar & navigation | ![]() |
| Floating AI agent | ![]() |
Regenerate hero + theme gallery from production:
export SKOPOS_DASHBOARD_PASSWORD='…'
pip install playwright pillow && playwright install chromium
python scripts/capture_readme_screenshots.py --base-url https://skopos.modelmarket.dev/app/








