Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📖 Read-only mirror. skopos is published from the canonical AI-Factory monorepo. Pull requests are not accepted — any commit pushed here is overwritten by scripts/mirror_satellites.sh on the next sync. 🐞 Found a bug or have a request? Please open an issue.

SKOPOS — fleet observability satellite of the AICOM ecosystem

CI Pages deploy Live demo status Cosmic landing Python >=3.11 tests Streamlit + PostgreSQL Test coverage License: MIT

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.

SKOPOS — Web Analytics and Security Center with 3D threat map

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

Features

  • 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/)

Quick start

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

  • 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_PASSWORD still 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

Documentation

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.

Configure servers

Edit servers.yaml — SSH host, nginx log paths. See servers.example.yaml.

For per-domain analytics, include $host in nginx log_format.

AI agent

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

docker compose up -d --build

Open http://localhost:8501

License

MIT — see LICENSE.

Testing & coverage

pip install -r requirements.txt pytest pytest-cov
bash scripts/ci_coverage_badge.sh -- tests/ -q --cov=skopos

227 pytest cases · line coverage on skopos/ tracked in docs/badges/coverage.svg (regenerate with bash scripts/ci_coverage_badge.sh, verified by CI).

Screenshots

Captured from skopos.modelmarket.dev — Analytics dashboards (traffic timeline + country-share donuts) in six themes (sidebar Theme picker):

Light theme Premium theme

Light · Premium

Cosmos theme Ocean theme

Cosmos (midnight) · Ocean

Aurora theme Slate theme

Aurora · Slate

View Screenshot
Security — 3D Threat Map 3D threat map
Sidebar & navigation Sidebar
Floating AI agent 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/

About

SKOPOS (Σκοπός) — self-hosted nginx analytics and fleet security for the AICOM ecosystem. SSH log collection, Security Center with 3D threat map, scan history, and an AI agent with voice input.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages