Выпуск новостей завершён 15 сентября 2026. Материалы сохранены на дату публикации. Перейти к инструкциям →

Архив · Полный материал · Tproger

Dawarich 1.14 рисует миллион GPS-точек за секунду вместо падения браузера

Dawarich перевёл точки и треки на карты-тайлы: 957 350 точек грузятся меньше секунды, JSON упал с 590 МБ до 150 КБ. Что ещё в 1.14.1 и сколько стоит облако.

Разработка · TprogerМарат Ильясов3 минуты
Перейти к тексту ↓
Dawarich 1.14 рисует миллион GPS-точек за секунду вместо падения браузера
Tproger
Коротко о главномРазвернутьСвернуть
  1. Автор Dawarich, открытой self-hosted замены Google Timeline, под ником Freika 2 сентября показал , что после перевода отрисовки на карты-тайлы тестовый набор из 957 350 геоточек загружается меньше чем за секунду.
  2. Объём JSON, который уходил клиенту, уменьшился примерно с 590 МБ до 150 КБ.
  3. Кому это важно: тем, кто много лет копил историю перемещений в Google Timeline и после переноса её на устройство ищет, где хранить данные самому.

Автор Dawarich, открытой self-hosted замены Google Timeline, под ником Freika 2 сентября показал , что после перевода отрисовки на карты-тайлы тестовый набор из 957 350 геоточек загружается меньше чем за секунду. Раньше такой объём ронял браузер. Объём JSON, который уходил клиенту, уменьшился примерно с 590 МБ до 150 КБ. Сам релиз 1.14.1 вышел 31 августа.

Кому это важно: тем, кто много лет копил историю перемещений в Google Timeline и после переноса её на устройство ищет, где хранить данные самому. Импорт Google Takeout в Dawarich есть, а с новой отрисовкой многолетний архив перестаёт быть проблемой для интерфейса. Проект написан на Ruby on Rails с PostgreSQL и ставится через Docker; на сайте указано больше 9000 звёзд на GitHub.

Почему тайлы решают проблему миллиона точек

Старая схема отдавала клиенту все точки в JSON, и браузер сам рисовал их на карте. На сотнях тысяч точек это сотни мегабайт данных и столько же объектов в памяти вкладки. Новая схема режет данные на тайлы: карта запрашивает только тайлы видимой области и масштаба, а отрисовка по-прежнему идёт в браузере, просто над несравнимо меньшим объёмом данных. Плата за это одна, и автор её называет: точки в режиме тайлов нельзя таскать мышью, для редактирования режим надо выключить.

Автор пишет, что за месяц вышло девять релизов, и называет результат «немного безумным» (перевод редакции). Для админа, который держит Dawarich на маломощном VPS или Raspberry Pi, важно другое: девять релизов за месяц означают частые миграции базы, и перед каждым обновлением нужен бэкап PostgreSQL.

Что ещё изменилось в 1.14.1

  • Метаданные устройств перенесены в таблицу point_sources : миграция базы при обновлении обязательна, перед ней нужен бэкап PostgreSQL.
  • Импорт OwnTracks исправлен для массивов PostgreSQL; повреждённая или обрезанная загрузка теперь отклоняется без ошибки сервера.
  • Расстояние перелётов из AirTrail считается отдельно от расстояния, записанного трекером.
  • Интерфейс переведён на шесть языков: английский, немецкий, испанский, французский, польский и каталанский; следующим заявлен упрощённый китайский. Русского перевода нет.

Self-hosting или облако

Self-hosted версия бесплатна и включает всё, что есть в платных тарифах, ограничения только у облачного варианта: Lite за 59,99 евро в год хранит 12 месяцев истории и даёт 200 запросов API в час, Pro за 149,99 евро снимает лимит истории и поднимает потолок до 1000 запросов, Family за 299,99 евро рассчитан максимум на пять участников. Условия оплаты облака по регионам проект не описывает; self-hosting от них не зависит.

Что проверить перед обновлением: сделать дамп базы, обновить образ Docker до 1.14.1, дождаться миграций и убедиться, что карта показывает точки в новом режиме. Кому релиз не нужен: тем, у кого история перемещений измеряется тысячами точек, а не сотнями тысяч; для них разница будет незаметна. О другом свежем self-hosted проекте того же класса мы писали на примере Home Assistant 2026.9 ; о хранении резервных копий такого рода данных есть разбор про бэкапы в S3 .

Источники: Пост разработчика в r/selfhosted , Релиз 1.14.1 на GitHub , Сайт проекта