simbiot-harness/sites/shkor-com
2026-10-18 19:19:26 +00:00
..
assets sites/shkor-com: новый сайт Shkor Labs + сбор email (превью new.shkor.com) 2026-10-17 13:26:18 +00:00
v2 shkor.com/start: MCP лабы в описании, блок заработка (выручка − доля студии, доступно к выводу) на странице клиента 2026-10-18 19:19:26 +00:00
api.py shkor.com/start: MCP лабы в описании, блок заработка (выручка − доля студии, доступно к выводу) на странице клиента 2026-10-18 19:19:26 +00:00
index.html shkor.com: контактный email в подвале → hello@shkor.com 2026-10-17 13:53:29 +00:00
README.md shkor.com v2 на основном домене + Autopilot $99: KYC (Didit) → Stripe → свой сервер с панелью CloudCLI (Claude Code + OpenCode) 2026-10-18 18:56:45 +00:00
styles.css sites/shkor-com: новый сайт Shkor Labs + сбор email (превью new.shkor.com) 2026-10-17 13:26:18 +00:00
test_autopilot.py shkor.com v2 на основном домене + Autopilot $99: KYC (Didit) → Stripe → свой сервер с панелью CloudCLI (Claude Code + OpenCode) 2026-10-18 18:56:45 +00:00

shkor.com — Shkor Labs site

Static page (index.html, styles.css, assets/) + backend api.py (stdlib, SQLite): email capture and lab applications with KYC/KYB.

  • Live: https://shkor.com (since 2026-10-18) — v2 at the root, docroot /var/www/shkor-com-live (v2 + legacy team.html/screenshots), Caddy /etc/caddy/sites/shkor.com.caddy, apex A → 204.168.232.21 (zone /etc/bind/zones/db.shkor.com; www is delegated to namebright). Old site (nginx on 204.168.138.138, /var/www/shkor-local) backed up: /var/backups/shkor-com/old-shkor-com-site-20261018.tgz (+ zone, unit, api.py backups there). Rollback: zone @ A back to 204.168.138.138, bump serial, systemctl reload named.
  • Preview: https://new.shkor.com (noindex) — docroot /var/www/shkor-com, Caddy /etc/caddy/sites/new-shkor.caddy
  • Video assets/simbiot-harness-enterprise-en.mp4 is copied from out/ at deploy (not committed here)
  • Backend: systemd shkor-api (/opt/shkor-subscribe/api.py) on 127.0.0.1:8097, Caddy proxies /api/*; DB /var/lib/shkor-subscribe/subs.db
  • Lab applications: v2/apply/ (3-step form) → /api/lab/apply → portal pipeline /api/studio/apply (apply42.db, ref=shkor, TG to admin)
    • Didit KYC session (Free KYC workflow, key from /root/coop/.env) and KYB session if a company is given. Status page v2/apply/status/?t=<token> refreshes from Didit; poller every 10 min; TG once on Approved/Declined. KYB is OFF until DIDIT_KYB_WORKFLOW_ID is set in the unit (create the workflow in Didit console + top up balance). After publishing v2 at the root, set PUBLIC_BASE=https://shkor.com (Didit callback). export: sqlite3 /var/lib/shkor-subscribe/subs.db "select email,source,created_at from subs"
  • v2 (labs + autopilot concept): v2/ → https://new.shkor.com/v2/ ; design direction from ui-ux-pro-max (Dark OLED + Bento + HUD, Space Grotesk)
  • Update live: cp -r v2/* /var/www/shkor-com-live/ && cp api.py /opt/shkor-subscribe/ && systemctl restart shkor-api
  • Autopilot $99 (v2/start/): form → Didit KYC → /start/status/?t= → after Approved, Stripe Checkout via portal onboarding (plan autopilot, return_url back here) → portal provisions tenant + Hetzner VM + agent → cloud-init callback → CloudCLI panel <agent>.ui.shkor.com with Claude Code + OpenCode (GLM via 9router) → status page shows panel login. Stripe mode follows the portal's STRIPE_MODE (/root/coop/.env). Test: python3 sites/shkor-com/test_autopilot.py.