# Instalación ## Prerrequisitos - **Python:** Versión 3.8 o superior - **Base de Datos:** SQL Server con bases de datos configuradas (glm_pg, IS001) - **Sistema Operativo:** Windows, Linux o macOS - **Docker:** Opcional, para contenedorización ## Instalación Local ### 1. Clonar el Repositorio ```bash git clone cd DataTransferV2 ``` ### 2. Crear Entorno Virtual ```bash # Windows python -m venv env env\Scripts\activate # Linux/macOS python3 -m venv env source env/bin/activate ``` ### 3. Instalar Dependencias ```bash pip install -r requirements.txt ``` ### 4. Configurar la Base de Datos Asegúrate de que SQL Server esté ejecutándose y accesible. Las bases de datos requeridas: - `glm_pg` (ID: 00080001) - `IS001` (ID: 00010007) - Servidor: sql.glmanalytics.com ### 5. Configurar Credenciales Edita `App/Config/GeneralConfig.py` con: - Credenciales de SQL Server - Endpoints FTP/SFTP/SharePoint - URLs de webhooks para notificaciones ### 6. Verificar Instalación ```bash python main.py --help # Si tiene opción help ``` ## Instalación con Docker ### Construir Imagen ```bash docker build -t datatransfer . ``` ### Ejecutar Contenedor ```bash docker run -p 5000:5000 datatransfer ``` ### Usando Docker Compose ```bash docker-compose up -d ``` ## Configuración de Entorno ### Variables de Entorno (Recomendado) Para mayor seguridad, usa variables de entorno en lugar de hardcodear credenciales: ```bash export DB_USER="tu_usuario" export DB_PASSWORD="tu_password" export SHAREPOINT_CLIENT_ID="tu_client_id" ``` ### Configuración de Zonas Horarias El sistema maneja zonas horarias de Centroamérica y el Caribe. Asegúrate de que el servidor esté en la zona correcta. ## Solución de Problemas ### Error de Conexión DB - Verifica credenciales en GeneralConfig.py - Confirma que SQL Server esté ejecutándose - Revisa firewall y permisos de red ### Dependencias Faltantes - Asegúrate de tener pip actualizado: `pip install --upgrade pip` - Instala dependencias específicas: `pip install pyodbc azure-storage-blob` ### Problemas con SharePoint - Verifica client_id y tenant_id - Confirma permisos de aplicación en Azure AD ## Próximos Pasos Después de la instalación, configura los proyectos específicos y ejecuta una prueba con `python main.py`.