Files
George 277d07dfeb Migra el servicio a arquitectura Docker persistente y mueve credenciales HANA a .env
- Reemplaza config_loader/config_model/hana_client/logger_utilities/outlook_utilities
  por core.py (pipeline funcional), hana_manager.py, logger_manager.py, scheduler.py y
  descargador_sovos.py (Playwright/Firefox) según la plantilla de servicios.
- main.py pasa a loop continuo dirigido por scheduler.json, con manejo de SIGINT/SIGTERM.
- Agrega Dockerfile, docker-compose.yml (restart unless-stopped) y certs/ para despliegue.
- Agrega smb_transfer.py para la transferencia a carpeta compartida.
- Saca las credenciales de HANA de config.json y las mueve a .env (HANA_HOST/PORT/USER/PASSWORD).
2026-08-25 09:29:35 -05:00

33 lines
1.1 KiB
Docker

FROM mcr.microsoft.com/playwright/python:v1.62.0-jammy
# Zona horaria del contenedor
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=America/Lima
# rsync para la transferencia a la carpeta compartida (SMB)
RUN apt-get update \
&& apt-get install -y --no-install-recommends tzdata rsync \
&& ln -fs /usr/share/zoneinfo/$TZ /etc/localtime \
&& dpkg-reconfigure -f noninteractive tzdata \
&& rm -rf /var/lib/apt/lists/*
# CA de inspección SSL de la red (Fortinet FG100FTK22018356) para pip y HTTPS.
COPY certs/fortinet-root.crt /usr/local/share/ca-certificates/fortinet-root.crt
RUN update-ca-certificates
ENV REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
ENV SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
WORKDIR /app
# Chromium y Firefox ya vienen con la imagen oficial de Playwright; solo
# instalamos las dependencias Python y quitamos webkit (se usa Firefox).
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt \
&& rm -rf /ms-playwright/webkit-*
COPY . .
# Servicio persistente: main.py corre en loop (ver scheduler.py/scheduler.json).
CMD ["python", "main.py"]