Przejdź do treści

05 — Deployment & Roadmap

Insurance Intelligence System


Infrastruktura VPS

Parametr Wartość
Provider Hostinger
OS Ubuntu 24.04.3 LTS
IP 76.13.15.1
Użytkownik root
SSH Klucz ed25519 (bez hasła)

Zmienne środowiskowe (/etc/environment)

YOUTUBE_API_KEY="[klucz YouTube Data API v3]"

Struktura folderów

/opt/
├── youtube-mcp/          # Agent 1 — Collector (YouTube) ✅ aktywny
│   ├── server.py
│   ├── venv/
│   └── requirements.txt
├── insurance-db/         # Konfiguracja PostgreSQL 🔲 planowany
├── insurance-classifier/ # Agent 2 — Classifier 🔲 planowany
├── insurance-analyst/    # Agent 3 — Analyst 🔲 planowany
└── insurance-dashboard/  # Agent 4 — Reporter/Dashboard 🔲 planowany

Usługi systemd

youtube-mcp.service    # ✅ aktywny, port 8000
postgresql.service     # 🔲 do zainstalowania
nginx.service          # 🔲 do uruchomienia

Stan wdrożenia — szczegółowy

✅ Zrobione

  • Architektura systemu zaprojektowana i udokumentowana
  • VPS Hostinger Ubuntu 24.04 — dostęp SSH działa
  • Python, pip, venv zainstalowane na VPS
  • Biblioteki MCP zainstalowane (mcp<2, httpx, pydantic)
  • server.py wgrany do /opt/youtube-mcp/
  • Klucz YouTube Data API v3 — ustawiony w /etc/environment
  • Usługa systemd youtube-mcp.service — aktywna, port 8000
  • Frazy wyszukiwania — zaprojektowane, segmenty zdefiniowane
  • Słownik stanowisk eksperckich — zdefiniowany
  • Dokumentacja projektu — utworzona (ten zestaw plików)

🔲 Następny sprint (Faza 1 — domknięcie MVP)

  1. Zainstalować PostgreSQL na VPS
  2. Utworzyć bazę insurance_intelligence i użytkownika
  3. Wykonać migracje (schemat z 02_DATA_MODEL.md)
  4. Zaktualizować server.py — zapis wyników do PostgreSQL
  5. Zbudować Agent 2 (Classifier) — warstwa reguł
  6. Zbudować prosty dashboard HTML (Agent 4 — MVP)
  7. Skonfigurować nginx do serwowania dashboardu
  8. Uruchomić pierwszy pełny skan i zweryfikować dane

🔲 Faza 2

  • Agent 3 (Analyst) — wykrywanie trendów i insights
  • Connector KNF (scraper)
  • Connector PIU (scraper)
  • RSS Podcasty + Whisper transkrypcja
  • Feedback loop w dashboardzie (oznaczanie szumu)
  • Raporty PDF na żądanie

🔲 Faza 3

  • Rozszerzenie na rynek CEE
  • Benchmarking TU (porównanie między towarzystwami)
  • Alerty (email/webhook gdy ważny sygnał)
  • Integracja z danymi finansowymi KNF

Zasady deploymentu (Agentic SDLC)

  1. Kod piszemy lokalnie (Claude Code) → testujemy → wgrywamy na VPS przez SCP
  2. Każda zmiana w server.py → restart systemctl restart youtube-mcp
  3. Schemat bazy zmienia się tylko przez migracje (pliki SQL w /opt/insurance-db/migrations/)
  4. Dokumentacja aktualizowana przy każdej istotnej zmianie architektury
  5. Klucze API nigdy w kodzie — tylko w zmiennych środowiskowych

Komendy operacyjne (cheat sheet)

# Status serwera MCP
ssh root@76.13.15.1 "systemctl status youtube-mcp --no-pager"

# Restart serwera MCP
ssh root@76.13.15.1 "systemctl restart youtube-mcp"

# Logi serwera MCP (ostatnie 50 linii)
ssh root@76.13.15.1 "journalctl -u youtube-mcp -n 50 --no-pager"

# Sprawdź zmienne środowiskowe
ssh root@76.13.15.1 "cat /etc/environment"

# Status PostgreSQL (po instalacji)
ssh root@76.13.15.1 "systemctl status postgresql --no-pager"

# Połącz z bazą danych
ssh root@76.13.15.1 "psql -U insurance_user -d insurance_intelligence"

Connector w Claude.ai

Po uruchomieniu serwera MCP możliwe jest podłączenie jako Custom Connector:

  • URL: http://76.13.15.1:8000
  • Typ: Streamable HTTP (MCP)
  • Narzędzia dostępne po podłączeniu:
  • youtube_search_insurance — wyszukiwanie filmów
  • youtube_get_video_details — szczegóły filmu + URL-e z opisu
  • youtube_find_channel — znajdowanie kanałów
  • youtube_get_channel_videos — filmy z kanału
  • youtube_scan_insurance_market — pełny dzienny skan rynku