Tu propio servidor (Docker)¶
No hace falta para usar Logroño Bus. La web pública funciona sola. Montar tu servidor tiene sentido si:
- tienes varias pantallas en casa y quieres que compartan una sola consulta al Ayuntamiento (caché común);
- quieres el panel en texto o JSON para widgets de Android o sensores
restde Home Assistant; - prefieres que tus pantallas no dependan de GitHub Pages.
Funciona en cualquier equipo con Docker: un Raspberry Pi, un NAS, un PC… (imágenes para amd64 y
arm64).
Ponerlo en marcha¶
- Instala Docker.
- Descarga
compose.yamlen una carpeta. -
En esa carpeta, ejecuta:
docker compose up -d -
Abre
http://IP-DEL-EQUIPO:8000desde el móvil (en la misma red).
Cómo saber que ha funcionado: ves la misma web que en GitHub Pages. Tus paneles abiertos desde
esta dirección usan automáticamente tu servidor (en Acerca de lo verás). La documentación de la
API está en http://IP-DEL-EQUIPO:8000/docs.
https y http no se mezclan
La web pública (https) no puede usar un servidor tuyo con http://192.168…: el navegador lo
bloquea. Abre los paneles desde tu servidor (http://IP:8000/?p=…), o publícalo con https
detrás de un proxy (Caddy, Nginx Proxy Manager, Traefik…).
Actualizar¶
docker compose pull && docker compose up -d
Comprobar que la imagen es la original¶
Las imágenes están firmadas y llevan la procedencia de su compilación:
gh attestation verify oci://ghcr.io/chiva/logrono-bus:latest --owner chiva
Ajustes¶
Todos opcionales, como variables de entorno en compose.yaml:
| Variable | Por defecto | Qué hace |
|---|---|---|
LOGRONO_BUS_ARRIVALS_TTL_S |
15 |
Segundos que se reutilizan las llegadas de una parada. |
LOGRONO_BUS_ARRIVALS_STALE_S |
120 |
Si el Ayuntamiento falla, cuánto tiempo seguir sirviendo los últimos datos. |
LOGRONO_BUS_UPSTREAM_RATE_PER_S |
2 |
Peticiones por segundo como máximo al Ayuntamiento. |
LOGRONO_BUS_ROOT_PATH |
Prefijo si lo sirves bajo una ruta (/bus). |
|
LOGRONO_BUS_CORS_ORIGINS |
* |
Orígenes que pueden usar la API desde el navegador. |
LOGRONO_BUS_LOG_LEVEL |
INFO |
DEBUG, INFO, WARNING… |
LOGRONO_BUS_LOG_FORMAT |
json |
json o text. |
La lista completa está en la documentación técnica.