Enhance caching mechanism and logging configuration

- Updated .gitignore to include additional IDE and OS files, as well as log and web build directories.
- Expanded config.sample.yaml to include cache configuration options for memory and Redis.
- Modified wallamonitor.py to load cache configuration and initialize ArticleCache.
- Refactored QueueManager to utilize ArticleCache for tracking notified articles.
- Improved logging setup to dynamically determine log file path based on environment.
This commit is contained in:
Omar Sánchez Pizarro
2026-01-19 19:42:12 +01:00
parent b32b0b2e09
commit 9939c4d9ed
41 changed files with 6742 additions and 28 deletions

96
docker-compose.README.md Normal file
View File

@@ -0,0 +1,96 @@
# 🐳 Docker Compose - Inicio Rápido
## ⚡ Inicio Rápido (3 pasos)
### 1. Configurar archivos
```bash
# Copiar archivo de configuración
cp config.sample.yaml config.yaml
# Editar con tus credenciales de Telegram
nano config.yaml
```
**Importante para Docker**: Si vas a usar Redis (recomendado), actualiza `config.yaml`:
```yaml
cache:
type: "redis"
redis:
host: "redis" # Nombre del servicio en Docker
port: 6379
db: 0
password: null
```
### 2. Crear directorio de logs
```bash
mkdir -p logs
```
### 3. Iniciar servicios
```bash
docker-compose up -d
```
### 4. Acceder a la interfaz
Abre: **http://localhost:3000**
## 📋 Servicios Incluidos
| Servicio | Puerto | Descripción |
|----------|--------|-------------|
| **Frontend** | 3000 | Interfaz web Vue |
| **Backend** | 3001 | API Node.js |
| **Redis** | 6379 | Cache de artículos |
| **Wallamonitor** | - | Servicio Python (interno) |
## 🔧 Comandos Básicos
```bash
# Ver logs
docker-compose logs -f
# Ver logs de un servicio específico
docker-compose logs -f wallamonitor
# Detener
docker-compose down
# Reiniciar
docker-compose restart
# Ver estado
docker-compose ps
```
## 📝 Notas Importantes
1. **Redis en Docker**: El `host` debe ser `"redis"` (nombre del servicio)
2. **Archivos de configuración**: Se montan como volúmenes, los cambios persisten
3. **Logs**: Se guardan en el directorio `./logs/` en el host
4. **Primera ejecución**: Puede tardar unos minutos en construir las imágenes
## 🆘 Problemas Comunes
**El backend no conecta a Redis**
- Verifica que `config.yaml` tenga `host: "redis"` (no "localhost")
**Error: monitor.log es un directorio**
- Elimina el directorio si existe: `rm -rf monitor.log`
- Crea el directorio de logs: `mkdir -p logs`
**Los archivos no se actualizan**
- Asegúrate de que existan: `touch config.yaml workers.json favorites.json`
- Crea el directorio de logs: `mkdir -p logs`
**Error al construir**
- Limpia y reconstruye: `docker-compose build --no-cache`
## 📚 Más Información
Ver [DOCKER.md](./DOCKER.md) para documentación completa.