hbox-docs/backend/README.md
Leopoldo Rodríguez 57f67332eb actas: formularios de prueba V5/V4 + checklist de ensamble + backend
- backend Flask (backend/): recibe formularios firmados, guarda JSON por
  numero de serie en /srv/projects/drogheda/actas, indice CSV, GET /api/actas
  + systemd unit + README de instalacion (nginx /api proxy)
- formularios (docs/formularios/): acta.css/acta.js (motor con autoguardado
  y envio), V5 fiel al procedimiento verificado, V4 borrador adaptado,
  checklist de ensamble borrador; firma = nombre + conformidad
- docs/actas/index.md + guia-ensamble-qc.md; nav actualizada
- probado end-to-end (headless): envio + validacion + guardado por serie

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YJ4eAB6zjQT49RVwpgfKdt
2026-09-16 18:05:16 +00:00

64 lines
2.0 KiB
Markdown

# Backend de actas — configuración en el servidor (una sola vez)
Servicio Flask que recibe los formularios firmados de los técnicos y los guarda como
JSON por número de serie en `/srv/projects/drogheda/actas/`. Corre detrás de nginx en
`127.0.0.1:8081`; nginx expone `/api/` en el mismo dominio, con la misma contraseña.
## 1. Instalar (en el servidor, como leo)
```bash
cd /srv/projects/drogheda/hbox-docs/backend
python3 -m venv venv
./venv/bin/pip install -r requirements.txt
# carpeta donde se guardan las actas
mkdir -p /srv/projects/drogheda/actas
```
## 2. Servicio systemd (arranque automático)
```bash
sudo cp actas-hbox.service /etc/systemd/system/actas-hbox.service
sudo systemctl daemon-reload
sudo systemctl enable --now actas-hbox
systemctl status actas-hbox # debe decir "active (running)"
curl -s http://127.0.0.1:8081/api/salud # {"ok":true,...}
```
## 3. nginx — exponer /api/ en el mismo dominio
Dentro del bloque `server { ... }` de `drogheda.helgen.online` (el mismo archivo
`/etc/nginx/sites-enabled/drogheda.helgen.online.conf`, en la parte de `listen 443`),
agrega **antes** del `location / {`:
```nginx
location /api/ {
proxy_pass http://127.0.0.1:8081;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# hereda el auth_basic del server; si quieres, puedes repetirlo aquí.
}
```
Luego:
```bash
sudo nginx -t && sudo systemctl reload nginx
curl -u leo:TU_PASS https://drogheda.helgen.online/api/salud # {"ok":true,...}
```
## 4. Ver las actas recibidas
- Índice rápido por tipo: `/srv/projects/drogheda/actas/<tipo>/_indice.csv` (ábrelo en Excel).
- Listado JSON: `https://drogheda.helgen.online/api/actas`
- Un acta concreta: `https://drogheda.helgen.online/api/actas/prueba-v5/V5-07_....json`
- Respaldo: basta con copiar la carpeta `/srv/projects/drogheda/actas/`.
## Actualizar el backend
Tras un `git pull` que cambie `app.py`:
```bash
sudo systemctl restart actas-hbox
```