bakalarka_praca/website/README.md

2.9 KiB
Raw Blame History

Hate Speech Bot Dokumentácia

Opis aplikácie

Ide o kompletný systém na detekciu nenávistných správ v prostredí Telegramu. Obsahuje Telegram bota, ktorý analyzuje správy, zaznamenáva porušenia do databázy MySQL, a webovú aplikáciu (Flask), ktorá tieto dáta zobrazuje v reálnom čase. Webová stránka sa automaticky aktualizuje každých 5 sekúnd a zobrazí najnovších porušovateľov.


Zoznam použitých kontajnerov

Kontajner Popis
tetianamohorian/hate-speech-bot Obsahuje Telegram bota a Flask webovú aplikáciu v jednom kontajneri.
mysql:8 Databázový server pre ukladanie porušení.

Zoznam Kubernetes objektov

Objekt Popis
Namespace: botspace Oddelený menný priestor pre všetky objekty aplikácie.
Deployment: bot-deployment Spúšťa Telegram bota.
Deployment: flask-web Spúšťa webovú aplikáciu.
StatefulSet: mysql Stabilné nasadenie MySQL databázy s uchovaním dát.
PersistentVolume Trvalý zväzok na fyzickom disku pre MySQL.
PersistentVolumeClaim Požiadavka na disk pre MySQL.
Service: mysql Interný prístup k databáze z iných podov.
Service: flask-service Sprístupňuje Flask web cez port-forward.
ConfigMap: init-sql Obsahuje SQL skript na inicializáciu databázy.
Secret: bot-secret Bezpečne uchováva Telegram API token.

Virtuálne siete a pomenované zväzky

  • Všetky pod-y komunikujú v internej sieti v rámci botspace.
  • PersistentVolume pripojený k MySQL cez PersistentVolumeClaim zabezpečuje trvalé uloženie údajov v /var/lib/mysql.

Konfigurácia kontajnerov

  • flask-web je nakonfigurovaný na porte 5000, ktorý je sprístupnený cez službu flask-service.
  • bot-deployment využíva Secret na získanie Telegram tokenu.
  • mysql inicializuje databázu automaticky pomocou initContainer a ConfigMap so SQL skriptom.

Návod na použitie

Príprava aplikácie:

./prepare-app.sh

Vytvorí Docker image a pushne ho na Docker Hub.


Spustenie aplikácie:

./start-app.sh

Vytvorí všetky Kubernetes objekty a spustí port-forward (napr. na localhost:8080).


Pozastavenie aplikácie (port-forward):

pkill -f "kubectl port-forward"

Odstránenie celej aplikácie:

./stop-app.sh

Zmaže celý namespace botspace a všetky objekty.


Prístup k webovej aplikácii

Po spustení aplikácie si otvor webový prehliadač a zadaj adresu:

http://localhost:8888

Zobrazí sa webová stránka s tabuľkou porušovateľov, ktorá sa aktualizuje každých 5 sekúnd.