# Despliegue de /pedir/ El gestor de reservas es un programa en Go que escucha en `127.0.0.1:8090`. nginx le pasa `/pedir/` y sigue sirviendo el resto de la web como hasta ahora. | Qué | Dónde | |---|---| | programa y plantillas | `/opt/enrecal/` | | configuración | `/etc/enrecal/config.json` | | datos (registro, solo crece) | `/var/lib/enrecal/registro.jsonl` | | accesos, para fail2ban | `/var/log/enrecal/auth.log` | | servicio | `enrecal.service`, usuario `enrecal` | ## Primera vez En el servidor, en la carpeta de la web (la que ya es un clon del repo): git fetch && git checkout pedir-evento sudo ./despliegue/instalar.sh Después, dos cosas a mano: 1. Añadir esta línea dentro del `server{}` de www.laenre.net y recargar: include /etc/nginx/snippets/enrecal.conf; sudo nginx -t && sudo systemctl reload nginx El fragmento también deja de servir `.git`, `gestor/`, `despliegue/`, `README.md`, `context.txt` e `info.txt`, que ahora mismo se pueden descargar desde la web. 2. Crear las cuentas. `cuenta.sh` para el servicio, crea la cuenta y lo vuelve a arrancar: sudo ./despliegue/cuenta.sh -usuario asamblea -nombre "Asamblea de La Enre" -rol enre -clave 'LA-CLAVE' -definitiva cuenta sudo ./despliegue/cuenta.sh -usuario externas -nombre "Asamblea de externas" -rol externas cuenta sudo ./despliegue/cuenta.sh -usuario hacklab -nombre "Hacklab La Raíz" cuenta Sin `-clave`, se genera una al azar y se imprime: se entrega en mano y se cambia al entrar. Con `-clave X` sin `-definitiva`, también se pide cambiarla al entrar. Ninguna clave va en el repositorio. Comprobar: `https://www.laenre.net/pedir/` carga y `https://www.laenre.net/.git/HEAD` da 403. ## Actualizar git pull sudo ./despliegue/instalar.sh No toca la configuración ni los datos. ## Si el servidor no tiene Go `instalar.sh` compila si encuentra `go`. Si no, se compila en otra máquina y se copia el binario a `despliegue/enrecal` antes de lanzar el instalador: cd gestor && CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -buildvcs=false -o ../despliegue/enrecal . scp ../despliegue/enrecal servidor:/ruta/de/la/web/despliegue/ ## Día a día - Otra clave para una cuenta: `sudo ./despliegue/cuenta.sh -usuario X clave` - Registro del servicio: `journalctl -u enrecal` - Copia de los datos: basta con copiar `/var/lib/enrecal/registro.jsonl`, también con el servicio en marcha, porque solo se escribe al final. - La configuración (cupo, ventana, qué finde es tranqui o con ruido) se cambia en `/etc/enrecal/config.json` y se aplica con `sudo systemctl restart enrecal`.