Agregar soporte para múltiples instancias en la configuración del proyecto, actualizando .env.example, README.md, docker-compose.yml y creando MULTI_INSTANCIAS.md

This commit is contained in:
2025-12-07 12:19:31 -05:00
parent 70f94c8897
commit 8a5d891352
4 changed files with 369 additions and 25 deletions

View File

@@ -2,6 +2,8 @@
Sistema automatizado para la renovación de Microsoft E5 usando Docker, compuesto por dos servicios principales que trabajan en conjunto.
> **✨ Nueva Característica:** Este proyecto ahora soporta ejecutar **múltiples instancias** en la misma máquina sin conflictos de puertos. [Ver documentación →](MULTI_INSTANCIAS.md)
## 📋 Descripción
Este proyecto implementa un sistema de dos contenedores Docker:
@@ -9,17 +11,14 @@ Este proyecto implementa un sistema de dos contenedores Docker:
- **odengin**: Motor principal que gestiona la renovación automática de Microsoft E5
- **odcron**: Servicio de tareas programadas que se comunica con el motor principal
## 🏗️ Arquitectura
### Características
```
┌─────────────────┐ ┌─────────────────┐
│ odcron │────────>│ odengin │
│ (Scheduler) │ HTTP │ (Engine) │
│ Port: N/A │ │ Port: 8080
└─────────────────┘ └─────────────────┘
```
Los servicios se comunican a través de una red Docker privada (`odeng-net`).
✅ Soporte para múltiples instancias en la misma máquina
✅ Configuración con variables de entorno (`.env`)
✅ Redes Docker aisladas por instancia
✅ Health checks automáticos
✅ Reinicio automático de servicios
✅ Fácil de escalar y mantener
## 🚀 Inicio Rápido
@@ -117,22 +116,41 @@ El archivo `.env.example` se incluye como referencia para documentar qué variab
### Puertos
- **8089**: Puerto expuesto del servicio odengin (mapea al 8080 interno)
- Para múltiples instancias, usa puertos diferentes: 8089, 8090, 8091, etc.
## 🚀 Múltiples Instancias
Este proyecto está diseñado para ejecutar múltiples instancias en la misma máquina:
```bash
# Instancia 1 - Puerto 8089
COMPOSE_PROJECT_NAME=instancia1 ENGINE_PORT=8089 docker-compose up -d
# Instancia 2 - Puerto 8090
COMPOSE_PROJECT_NAME=instancia2 ENGINE_PORT=8090 docker-compose up -d
# Instancia 3 - Puerto 8091
COMPOSE_PROJECT_NAME=instancia3 ENGINE_PORT=8091 docker-compose up -d
```
**Ver documentación completa de múltiples instancias:** [MULTI_INSTANCIAS.md](MULTI_INSTANCIAS.md)
## 📁 Estructura del Proyecto
```
onedrive/
├── docker-compose.yml # Orquestación de servicios
├── docker-compose.yml # Orquestación de servicios (multi-instancia)
├── README.md # Este archivo
├── MULTI_INSTANCIAS.md # Guía para ejecutar múltiples instancias
├── .env.example # Plantilla de configuración
├── .gitignore # Archivos a ignorar
├── cron/ # Servicio de tareas programadas
│ ├── Dockerfile
│ ├── docker-compose.yml
│ ├── requirements.txt
│ ├── script.py
│ └── README.md
└── engine/ # Motor principal
├── Dockerfile
├── docker-compose.yml
└── README.md
```