2.9 KiB
2.9 KiB
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 cezPersistentVolumeClaim
zabezpečuje trvalé uloženie údajov v/var/lib/mysql
.
Konfigurácia kontajnerov
flask-web
je nakonfigurovaný na porte5000
, ktorý je sprístupnený cez službuflask-service
.bot-deployment
využívaSecret
na získanie Telegram tokenu.mysql
inicializuje databázu automaticky pomocouinitContainer
aConfigMap
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.