Renfe Tracker
Renfe Tracker es una aplicación web autoalojada que monitoriza los precios de los trenes de Renfe (Media/Larga Distancia) y te avisa cuando cambian. Se ejecuta completamente dentro de un único contenedor Docker — sin cuentas en la nube, sin suscripciones, sin servicios de terceros.
Qué hace
- Busca trenes entre cualquier estación de Renfe y muestra los precios actuales junto con rangos históricos.
- Detecta trenes antes de que se pongan a la venta — la aplicación predice qué trenes es probable que se publiquen basándose en los horarios pasados de cada día de la semana.
- Sigue viajes — configura la aplicación para comprobar un tren específico en un horario configurable y registra cada cambio de precio.
- Recibe alertas — recibe notificaciones por correo electrónico, Home Assistant o notificaciones del navegador siempre que cambie el precio de un viaje seguido.
Cómo funciona
El backend es una aplicación Python/FastAPI respaldada por una base de datos SQLite. Utiliza un cliente de Renfe propio (horarios GTFS + extracción de precios en vivo) por lo que no depende de APIs externas ni de un navegador ejecutándose en tu máquina.
El frontend es una aplicación de página única React 19 + TypeScript servida por el mismo proceso. Todo persiste en un único volumen montado (/data), lo que hace que las copias de seguridad sean triviales.
┌─────────────────────────────────────┐
│ Contenedor Docker │
│ │
│ FastAPI ──────► SQLite (/data) │
│ │ │
│ APScheduler (comprobaciones) │
│ │ │
│ Cliente Renfe (GTFS + DWR) │
│ │
│ React SPA (archivos estáticos) │
└─────────────────────────────────────┘
Inicio rápido
Necesitas tener Docker instalado en tu máquina.
# 1. Descarga el archivo compose
curl -o docker-compose.yml https://raw.githubusercontent.com/JavierMonton/renfe-tracker/main/docker-compose.example.yml
# 2. Inicia la aplicación (la imagen se descarga automáticamente de Docker Hub)
docker compose up -d
# 3. Abre http://localhost:8000
Consulta la página de Instalación para más detalles, incluidas las opciones de docker run y desarrollo local.
Funcionalidades
Rangos de precio y trenes posibles
Al buscar trenes, la app muestra rangos de precio estimados basados en datos históricos y destaca los trenes que pueden no estar publicados aún para tu fecha.
![]()
Sigue múltiples viajes
Sigue varios viajes a la vez y recibe notificaciones cuando cambie el precio.
![]()
Historial de cambios de precio
Consulta el historial completo de cambios de precio de cualquier viaje seguido.
![]()