Dawarich: Alternativa autohospedada a Google Timeline
Aplicación web para rastrear y visualizar tu historial de ubicaciones con control total de tus datos
Vídeo tutorial en YouTube
Mira el vídeo completo sobre cómo instalar y usar Dawarich: Alternativa autohospedada a Google Timeline en el canal GENBYTE:
¿Qué es Dawarich: Alternativa autohospedada a Google Timeline?
Dawarich es una aplicación web de código abierto diseñada para reemplazar Google Timeline (Google Location History). Permite rastrear tu ubicación, visualizar los datos en un mapa interactivo, crear viajes, analizar tu historial de viajes, compartir la ubicación con familiares e integrarse con aplicaciones de gestión de fotos como Immich y Photoprism para visualizar fotos georreferenciadas. El proyecto está licenciado bajo AGPL-3.0 y desarrollado principalmente en Ruby.
Características principales
Rastreo de ubicación en vivo
Compatible con aplicaciones móviles oficiales (iOS y Android) y clientes de terceros como Overland, OwnTracks, GPSLogger, PhoneTrack y Home Assistant para enviar actualizaciones de ubicación a tu instancia.
Visualización del historial en mapa
Mapa interactivo con capas personalizables: mapa de calor, puntos, líneas entre puntos y niebla de guerra para explorar tu historial de ubicaciones.
Compartir en familia
Permite compartir tu ubicación con miembros de la familia y ver sus ubicaciones en el mapa con su consentimiento. Cada miembro puede activar o desactivar el compartir individualmente.
Áreas y visitas (Beta)
Dibuja áreas en el mapa para que Dawarich sugiera visitas. El sistema puede sugerir lugares visitados y permitir confirmar o rechazarlos.
Estadísticas e insights
Análisis de viajes: países y ciudades visitados, distancia total recorrida, tiempo invertido, desglosado por año y mes. Insights automáticos como 'Tu lugar más visitado es casa con 120 visitas'.
Días por país
Visualiza cuántos días has pasado en cada país, útil para propósitos de residencia fiscal o para ver dónde pasas la mayor parte del tiempo.
Viajes
Crea viajes para visualizar desplazamientos entre dos puntos temporales: ruta, distancia, tiempo e notas. Con integración Immich o Photoprism, muestra también las fotos del viaje.
Integraciones con fotos
Proporciona credenciales de Immich o Photoprism para importar automáticamente geodatos de tus fotos y visualizarlas en el mapa.
Importación y exportación de datos
Importa desde Google Maps Timeline, OwnTracks, Strava, Immich, archivos GPX/GeoJSON y datos EXIF de fotos. Exporta a GeoJSON o GPX.
Requisitos del sistema
- Docker y Docker Compose
- PostgreSQL (configurado vía variables de entorno: host, puerto, base de datos, usuario, contraseña)
- Redis (configurado vía REDIS_URL)
- Claves secretas JWT: JWT_SECRET_KEY y AUTH_JWT_SECRET_KEY (generables con `bundle exec rails secret`)
- Node.js 18.17.1 y npm 9.6.7 para compilación de assets frontend
- Ruby (versión definida en .ruby-version)
Instalación con Docker Compose
Clonar el repositorio
Clona el repositorio oficial de Dawarich en tu servidor o máquina local.
cd dawarich
Configurar variables de entorno
Copia el archivo de ejemplo y edita los valores obligatorios: base de datos PostgreSQL, Redis, claves JWT y opcionalmente SMTP, geocodificación inversa y límites de vídeos de ruta.
# Edita .env con tus valores
Levantar la aplicación con Docker Compose
El proyecto incluye un archivo docker-compose.yml en el directorio docker/. Úsalo para iniciar todos los servicios necesarios.
Verificar el estado
Comprueba que los contenedores estén en ejecución y revisa los logs si es necesario.
docker compose -f docker/docker-compose.yml logs -f
Acceder al proyecto
Acceso web
Una vez levantados los contenedores, la aplicación está disponible en http://localhost:3000 (o el puerto configurado en tu reverse proxy).
Credenciales por defecto
Usuario: [email protected] | Contraseña: safepassword. Se recomienda cambiarlas en la configuración de la cuenta tras el primer acceso.
Casos de uso
- Sustituir Google Timeline manteniendo la privacidad y propiedad de los datos de ubicación
- Rastrear rutas diarias, viajes y desplazamientos con visualización en mapa
- Compartir ubicación en tiempo real con familiares de forma consentida
- Analizar estadísticas de viajes: países visitados, distancias, tiempo por año/mes
- Integrar fotos georreferenciadas de Immich o Photoprism en el mapa de ubicaciones
- Importar historial previo desde Google Takeout, OwnTracks, Strava, GPX/GeoJSON
- Exportar datos propios a formatos abiertos (GeoJSON, GPX) para portabilidad
- Uso en homelab o servidor personal con control total sobre la infraestructura
Configuración avanzada
Configuración de geocodificación inversa
Define proveedor y límites de tasa para convertir coordenadas en direcciones. Soporta Photon, Nominatim, Geoapify y LocationIQ. Las variables fijan los valores en la interfaz de administración como solo lectura.
PHOTON_API_HOST=https://photon.komoot.io
PHOTON_API_KEY=
PHOTON_API_USE_HTTPS=true
REVERSE_GEOCODING_RPS=1
REVERSE_GEOCODING_CONCURRENCY=5
Configuración de correo SMTP
Habilita envío de correos para notificaciones, recuperación de contraseña, etc. Soporta TLS implícito (puerto 465) y STARTTLS. Permite desactivar verificación de certificado para servidores locales con certificado autofirmado.
SMTP_SERVER=smtp.ejemplo.com
SMTP_PORT=587
SMTP_USERNAME=usuario
SMTP_PASSWORD=contraseña
SMTP_SSL=false
SMTP_OPENSSL_VERIFY_MODE=none
Límites de vídeos de ruta
Controla retención y cantidad máxima de vídeos de reproducción de ruta por usuario. Los vídeos son pesados (~17 MB por 15s vertical). La expiración borra solo el archivo, manteniendo la configuración para volver a renderizar.
VIDEO_RETENTION_DAYS=30
VIDEO_MAX_PER_USER=10
Ajuste de tiempo de espera de teselas vectoriales
Aumenta el tiempo límite de consulta para teselas vectoriales en rangos de fechas grandes. Por defecto 5000 ms. Útil en instancias autohospedadas con grandes volúmenes de datos.
Configuración de macOS para desarrollo
Evita advertencias y fallos de fork() en Sidekiq al desarrollar en macOS estableciendo la variable de entorno correspondiente.
Gestión y mantenimiento
Actualizaciones
No actualices automáticamente. Lee las notas de cada versión antes de actualizar. Las actualizaciones automáticas pueden romper tu configuración. Haz siempre copia de seguridad antes de actualizar.
git pull
docker compose -f docker/docker-compose.yml pull
docker compose -f docker/docker-compose.yml up -d –build
Copia de seguridad y restauración
Realiza copias de seguridad de la base de datos PostgreSQL y de los volúmenes de datos (fotos, vídeos, archivos subidos) antes de cualquier actualización. Consulta la guía oficial de backup y restore.
docker exec -t <contenedor_postgres> pg_dump -U postgres dawarich_production > backup_$(date +%F).sql
# Restaurar
docker exec -i <contenedor_postgres> psql -U postgres dawarich_production < backup_2024-01-15.sql
Limpieza de recursos
Elimina imágenes Docker no utilizadas y limpia volúmenes huérfanos periódicamente para liberar espacio en disco.
docker volume prune
Monitoreo de logs
Revisa los logs de la aplicación y de Sidekiq para detectar errores en trabajos en segundo plano, ingestión de puntos o geocodificación.
docker compose -f docker/docker-compose.yml logs -f sidekiq
Stack técnico
- Ruby (backend principal)
- Ruby on Rails (framework web)
- PostgreSQL (base de datos relacional)
- Redis (caché y colas de trabajos)
- Sidekiq (procesamiento en segundo plano)
- Node.js 18.17.1 / npm 9.6.7 (compilación assets)
- MapLibre GL (renderizado de mapas vectoriales)
- DaisyUI / Tailwind CSS (interfaz de usuario)
- Hotwire / Turbo Rails (SPA-like navigation)
- Trix / ActionText (editor de texto enriquecido)
- Docker / Docker Compose (despliegue)
- AGPL-3.0 (licencia)
Referencias oficiales
- Repositorio oficial en GitHub: https://github.com/Freika/dawarich
- Sitio web y documentación oficial: https://dawarich.app
- Documentación de variables de entorno: https://dawarich.app/docs/environment-variables-and-settings
- Guía de instalación con Docker: https://dawarich.app/docs/intro#setup-your-dawarich-instance
- Guía de backup y restauración: https://dawarich.app/docs/tutorials/backup-and-restore
- Changelog: https://github.com/Freika/dawarich/blob/master/CHANGELOG.md
- Licencia AGPL-3.0: https://www.gnu.org/licenses/agpl-3.0.html
Apoya el canal GENBYTE
¿Te ha sido útil este contenido?
Suscríbete a YouTube
Newsletter GENBYTE
Ko-fi
Contacto: [email protected]
