Saltar a contenido

Requisitos

Antes de instalar Gestión Civis conviene preparar el entorno y conocer sus dependencias. Esta página resume lo necesario; las guías de servidor y Google Cloud detallan la instalación concreta.

Software base

Componente Requisito Notas
Python 3.10 o superior Backend Flask 3.1.
Node.js 18 o superior Solo para compilar el frontend (no en el servidor final).
PostgreSQL 13 o superior Base de datos recomendada (SQLite solo para desarrollo).
Servidor WSGI gunicorn / uwsgi Para servir Flask en producción.
Servidor web Nginx (o Apache) Reverse proxy + servir el frontend estático + HTTPS.

Bibliotecas de sistema

Algunas dependencias de Python necesitan librerías nativas del sistema operativo:

Para Paquetes (Debian/Ubuntu)
WeasyPrint (generación de PDF) libpango-1.0-0, libpangocairo-1.0-0, libgdk-pixbuf-2.0-0, libcairo2, libffi-dev (y fuentes, p. ej. fonts-dejavu).
psycopg2 (PostgreSQL) libpq-dev (si se compila) o usar psycopg2-binary.
lxml / signxml (XML/firma) libxml2, libxslt1.1.
cryptography / pyhanko build-essential, libssl-dev (si se compila).

Instalación en un solo comando (Ubuntu)

sudo apt update && sudo apt install -y \
  python3 python3-venv python3-dev build-essential \
  libpq-dev libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf-2.0-0 \
  libcairo2 libffi-dev libxml2 libxslt1.1 fonts-dejavu \
  postgresql nginx

Servicios y credenciales externas (según módulos)

Para Necesita
Firma electrónica / sello de órgano Certificado FNMT (.p12).
Registro SIR Credenciales MINHAP + endpoint SIR + certificado.
Catálogo DIR3 CSV oficial MINHAP (o el seed básico incluido).
Sellado de tiempo Servicio TSA RFC 3161 (FNMT).
Factura electrónica Acceso a FACe (RedSARA) + DIR3 de los órganos.
IA / chatbot GOOGLE_API_KEY (Google Gemini).
Almacenamiento en la nube Bucket de Google Cloud Storage + credenciales de cuenta de servicio.

Dimensionamiento orientativo

El consumo depende sobre todo de la búsqueda semántica e IA (FAISS + sentence-transformers + torch), que cargan modelos en memoria:

Escenario CPU RAM Disco
Mínimo (sin IA pesada o pocos usuarios) 2 vCPU 4 GB 20 GB + almacenamiento documental
Recomendado (con IA y uso normal) 4 vCPU 8 GB 40 GB + almacenamiento documental
Holgado (más usuarios concurrentes) 4–8 vCPU 16 GB según volumen

Memoria y workers

Cada worker de gunicorn que use la búsqueda/IA carga su propia copia de los modelos en memoria. Ajusta el número de workers a la RAM disponible (ver Puesta en marcha) o, si no usas IA, considera no instalar torch/transformers/sentence-transformers.

Almacenamiento de ficheros

  • Local: una carpeta en el servidor (STORAGE_PROVIDER=local). Hay que incluirla en las copias de seguridad y, si hay varios servidores, compartirla.
  • Google Cloud Storage: un bucket (STORAGE_PROVIDER=gcs), recomendado en despliegues en la nube o multi-servidor (ver Google Cloud).

Red y seguridad

  • HTTPS obligatorio en producción (activa HSTS y cookies seguras).
  • Acceso a la base de datos restringido al backend (no exponer PostgreSQL a Internet).
  • Si se usan SIR/FACe/TSA, salida hacia los endpoints de RedSARA.