Saltar a contenido

Puesta en marcha

Checklist para dejar Gestión Civis operativo en un ayuntamiento.

1. Verificación del backend

flask db upgrade
python seed.py
python run.py        # o gunicorn en producción
  • Comprobar que la API responde: GET /api/_routes (lista de rutas registradas).
  • Probar el login y GET /api/auth/me.

2. Verificación del frontend

cd gestion-civis-frontend
npm run build
  • Servir dist/ y comprobar que el login funciona y que /api se resuelve contra el backend.

3. Tareas programadas (MOS)

La plataforma necesita dos procesos distintos relacionados con MOS, que no hay que confundir:

Proceso Para qué sirve Cómo se arranca
python run_scheduler.py Scheduler MOS: ejecuta los 14 crons de fábrica (renovaciones de padrón, prescripciones, SLA, vigilancia DEHú, …) y procesa la cola de eventos. Worker permanente (systemd / Servicio Windows / Cloud Run minInstances=1).
flask civis-system-run Mantenimiento del propio MOS: particiones mensuales de core_audit_log/core_history_event y política de retención (audit 5 años, history 3 años). Programación periódica del SO (basta una vez al día).

Sin el worker no funciona nada automático

Si solo se programa flask civis-system-run y no se arranca run_scheduler.py como servicio, los crons de Padrón, Recaudación, Contabilidad, Tesorería y Notificaciones DEHú no se ejecutan. Es el error operativo más frecuente al instalar la plataforma.

Crons sembrados de fábrica (app/core/mos/seed_cron_jobs.py):

code Periodicidad Qué hace
der_ing_facturar_auto diario 06:00 Facturación automática de derechos a ingreso.
sla_facturas_sin_propuesta diario 08:00 Aviso SLA facturas sin propuesta de gasto.
sla_facturas_retenidas diario 08:00 Aviso SLA facturas retenidas.
workflow_verificar_sla cada 15 min Verificación de SLA de workflows documentales.
recaudacion_prescripcion diario 04:00 Prescripción de deudas (4 años LGT).
tesoreria_pj_aviso diario 09:00 Vencimiento de Pagos a Justificar.
recaudacion_plan_pago_sepa diario 05:00 Orquestación SEPA de planes de pago.
padron_renovaciones_detectar día 1 de mes 05:00 Renovaciones bianual NIE-NC + quinquenal.
padron_inspeccion_diaria diario 04:00 Inspección padronal (anomalías).
padron_snapshot_anual 2 enero 03:00 Cifras oficiales del padrón.
padron_ida_mensual día 5 de mes 06:00 Fichero IDA al INE.
padron_cert_sello_caducidad diario 07:00 Vigilancia de caducidad sello FNMT.
notificaciones_vigilar_vencimientos diario 05:00 Auto-rechazo silencio art. 43.2 LPAC + refresco estado DEHú.

Crons disponibles pero no sembrados (se activan cuando aplica):

Acción Periodicidad sugerida Cuándo activar
registro.sir.enviar_pendientes */5 * * * * Si se usa SIR salida real.
registro.sir.descargar_pendientes */10 * * * * Si se usa SIR entrada real.

Detalle por plataforma:

Ver también: MOS — Arranque del scheduler.

4. Integraciones externas (si aplica)

  • Certificado FNMT (sello de órgano) instalado y referenciado.
  • SIR_MODE=production + credenciales MINHAP (si SIR real).
  • Catálogo DIR3 cargado (seed o CSV MINHAP).
  • TSA RFC 3161 accesible (sellado de tiempo).
  • GCS configurado si STORAGE_PROVIDER=gcs.

5. Seguridad

  • SECRET_KEY fuerte y única (no el valor por defecto).
  • DATABASE_URL apuntando a PostgreSQL de producción.
  • Orígenes CORS limitados al dominio real.
  • HTTPS habilitado (activa HSTS y cookies seguras).
  • Revisar el rate limiting (Flask-Limiter) para entorno multi-worker.

6. Copias de seguridad

  • Backup periódico de PostgreSQL.
  • Backup del almacenamiento de ficheros (uploads/ o bucket GCS).

Listo

Con los pasos anteriores verificados, la plataforma queda operativa. Para el detalle de cada módulo, consultar el Manual técnico.