6.8 KiB
📁 Deployment Scripts - Index
Structura completă de scripturi pentru deployment Windows Service.
📂 Structura Directoarelor
deployment/windows/
├── README.md # Documentație completă
├── QUICK_START.md # Ghid rapid 5 minute
├── INDEX.md # Acest fișier
├── scripts/ # Scripturi PowerShell
│ ├── menu.ps1 # ⭐ Meniu interactiv (START HERE)
│ ├── deploy.ps1 # 🚀 Deployment complet
│ ├── install_service.ps1 # Instalare serviciu Windows
│ ├── uninstall_service.ps1 # Dezinstalare serviciu
│ ├── restart_service.ps1 # Restart rapid serviciu
│ ├── status.ps1 # Status serviciu și logs
│ └── view_logs.ps1 # Viewer logs interactiv
└── tools/ # Binare (auto-download)
├── .gitignore
└── nssm.exe # Downloaded by install_service
🚦 Quick Navigation
| Dacă vrei să... | Rulează |
|---|---|
| ⭐ Meniu interactiv | menu.ps1 |
| 🆕 Instalezi prima dată | deploy.ps1 |
| 📊 Verifici statusul | status.ps1 |
| 🔄 Restarți serviciul | restart_service.ps1 |
| 📝 Vezi logs-uri | view_logs.ps1 |
| 🗑️ Dezinstalezi | uninstall_service.ps1 |
| 📖 Citești ghidul | README.md sau QUICK_START.md |
💡 TIP: Folosește menu.ps1 pentru o experiență user-friendly!
📜 Descriere Scripturi
🚀 deploy.bat (Main Script)
Scop: Deployment complet one-click
Ce face:
- Verifică Python și dependențe
- Configurează
.env(dacă nu există) - Instalează requirements Python
- Instalează browsere Playwright
- Creează și pornește serviciul Windows
- Verifică status final
Rulare:
cd deployment\windows\scripts
deploy.bat
Durată: 2-5 minute (prima dată)
Note:
- Necesită Administrator
- Interactiv (așteaptă configurare
.env)
⚙️ install_service.bat
Scop: Instalează DOAR serviciul Windows (fără dependențe)
Ce face:
- Descarcă NSSM (dacă lipsește)
- Verifică
.envși bot script - Instalează serviciu cu NSSM
- Configurează logging, restart policy
- Pornește serviciul
Rulare:
install_service.bat
Use case: După ce ai instalat manual Python + requirements
🗑️ uninstall_service.bat
Scop: Elimină serviciul din Windows
Ce face:
- Oprește serviciul (dacă rulează)
- Dezinstalează cu NSSM
- Verifică eliminare completă
Rulare:
uninstall_service.bat
Note:
- NU șterge fișiere proiect
- NU șterge logs
- Doar elimină serviciul din registry
🔄 restart_service.bat
Scop: Restart rapid serviciu (după modificări cod)
Ce face:
- Stop serviciu
- Wait 2 secunde
- Start serviciu
- Verifică status
Rulare:
restart_service.bat
Use case: După git pull sau modificări .env
📊 status.bat
Scop: Status detaliat serviciu + logs
Ce face:
- Verifică dacă serviciul există
- Afișează status detaliat (
sc query) - Afișează configurație (
sc qc) - Afișează ultimele 10 linii din logs
- Afișează comenzi utile
Rulare:
status.bat
Use case: Quick health check
📝 view_logs.bat
Scop: Viewer interactiv logs
Meniu:
- View stdout (toate logs)
- View stderr (doar erori)
- Tail stdout (live updates)
- Tail stderr (live erori)
- Open Explorer în folder logs
- Șterge toate logs
Rulare:
view_logs.bat
Use case: Debugging, monitoring live
🔧 Configurare Serviciu Windows
Detalii Serviciu
| Proprietate | Valoare |
|---|---|
| Service Name | BTGOTelegramBot |
| Display Name | BTGO Telegram Trigger Bot |
| Executable | python.exe |
| Arguments | telegram_trigger_bot.py |
| Working Dir | Project root |
| Start Type | Automatic (Delayed) |
| Restart Policy | On failure, 5s delay |
| Stdout Log | logs/telegram_bot_stdout.log |
| Stderr Log | logs/telegram_bot_stderr.log |
| Log Rotation | 10 MB max |
Managed by NSSM
NSSM (Non-Sucking Service Manager) este folosit pentru:
- ✅ Simplifică crearea serviciilor din Python scripts
- ✅ Gestionează logging automat
- ✅ Auto-restart la crash
- ✅ Gestiune environment variables
Download: Auto-descărcat de install_service.bat în tools/nssm.exe
Versiune: 2.24 (64-bit)
📋 Workflow Tipic
Prima Instalare (VM nou)
# 1. Clone repo
cd E:\proiecte
git clone <repo> btgo-playwright
cd btgo-playwright
# 2. Configurează .env
copy .env.example .env
notepad .env
# 3. Deploy complet
cd deployment\windows\scripts
deploy.bat
# 4. Verifică status
status.bat
# 5. Test în Telegram
# Trimite /start la bot
Update Cod (după modificări)
# 1. Pull changes
cd E:\proiecte\btgo-playwright
git pull
# 2. Update requirements (dacă s-au modificat)
python -m pip install -r requirements.txt
# 3. Restart serviciu
deployment\windows\scripts\restart_service.bat
# 4. Verifică logs
deployment\windows\scripts\view_logs.bat
Debug Issues
# 1. Verifică status
deployment\windows\scripts\status.bat
# 2. Verifică logs
deployment\windows\scripts\view_logs.bat
# Selectează opțiunea 2 (stderr)
# 3. Testează manual (dacă e nevoie)
net stop BTGOTelegramBot
python telegram_trigger_bot.py
# Vezi output direct în terminal
# 4. Restart serviciu
deployment\windows\scripts\restart_service.bat
Reinstalare Completă
# 1. Dezinstalează
deployment\windows\scripts\uninstall_service.bat
# 2. Șterge logs vechi (opțional)
del /q logs\*.log
# 3. Reinstalează
deployment\windows\scripts\deploy.bat
🛡️ Securitate
Protecție .env:
.enveste în.gitignore(nu se commitează)- Conține credențiale sensibile (bot token, parole BTGO)
- Setează permissions doar pentru Administrator
User IDs Telegram:
TELEGRAM_ALLOWED_USER_IDSrestricționează accesul- Format:
123456789,987654321(comma-separated) - Nu lăsa gol (permite oricui)
📞 Support
Documentație:
README.md- Documentație completăQUICK_START.md- Ghid rapid 5 minute../../TELEGRAM_BOT_SETUP.md- Setup Telegram../../CLAUDE.md- Documentație proiect
Troubleshooting:
- Verifică
status.bat - Verifică
view_logs.bat→ stderr - Testează manual:
python telegram_trigger_bot.py
📄 Changelog
| Data | Versiune | Modificări |
|---|---|---|
| 2025-11-06 | 1.0 | Initial release - Complete deployment suite |
Happy Deploying! 🚀