# Despliegue en Mac mini dedicado — Cierres Talento Humano

Variante de `deploy/README-cloud.md` para correr los cierres en un **Mac
mini dedicado con launchd**, en vez de un servidor Linux con `cron`. Mismo
destino de datos:

```text
PostgreSQL 172.19.0.160
Base de Datos Historicos Talento Humano
schema public
```

Guia completa: [`INSTALACION_MAC_MINI.md`](./INSTALACION_MAC_MINI.md)
(arquitectura, requisitos del Mac mini, `.env`, pruebas sin escritura,
instalacion, corte desde la Mac de trabajo, certificacion, logs,
recuperacion y reversa).

## Contenido de esta carpeta

| Archivo | Uso |
|---|---|
| `INSTALACION_MAC_MINI.md` | Guia operativa paso a paso |
| `install-macmini-launchd.sh` | Instalador: valida `.env`, corre pruebas sin escritura, instala los 6 LaunchAgents |
| `launchagents/*.plist` | Plantillas de los 6 jobs (`__APP_DIR__` / `__PYTHON__` se sustituyen en la instalacion) |

## Uso rapido

```bash
cd ~/rrhh-report   # repo clonado en el Mac mini

# 1. Prueba en seco — no escribe nada
deploy/mac-mini/install-macmini-launchd.sh --dry-run

# 2. Instalacion real — solo despues de aprobar el dry-run
deploy/mac-mini/install-macmini-launchd.sh --install
```

## Horarios (America/Bogota)

- Dia 1, 5:00 AM: fotografia de empleados activos + IR.
- Dias 5 y 7, 5:00 AM: recuperacion conservadora de empleados (si vacio) + refresco IR.
- Dias 1, 5 y 7, 5:30 AM: carga Nomina + P&G del mes anterior.

## Paso obligatorio despues de instalar

Apagar los LaunchAgents equivalentes en la Mac de trabajo para que no
queden dos equipos escribiendo el mismo cierre (detalle en la seccion 12
de `INSTALACION_MAC_MINI.md`):

```bash
launchctl unload ~/Library/LaunchAgents/com.bia.cierre-mes-dia1.plist
launchctl unload ~/Library/LaunchAgents/com.bia.cierre-mes-dia5.plist
launchctl unload ~/Library/LaunchAgents/com.bia.cierre-mes-dia7.plist
launchctl unload ~/Library/LaunchAgents/com.bia.nomina-pyg-dia1.plist
launchctl unload ~/Library/LaunchAgents/com.bia.nomina-pyg-dia5.plist
launchctl unload ~/Library/LaunchAgents/com.bia.nomina-pyg-dia7.plist
```

No desactivar `com.bia.dashboard-talento` / `com.bia.dashboard-talento-dev`
— esos sirven el dashboard, no hacen cierres.
