Repository navigation
Releases
ChimePort v0.1.6
ChimePort v0.1.6 — безопасное создание доверенных приложений из Docker
Исправляющий релиз для администрирования TMS-интеграции без входа в веб-панель ChimePort. Добавлена штатная команда chimeport trusted-app --slug tms --origin https://tms.example.org --token-out /data/tms-app-token. Команда доступна только администратору Docker/хранилища, проверяет наличие локального администратора ChimePort, регистрирует приложение с отдельным секретом и сохраняет cp_a_ токен только в приватный файл 0600. Значение не выводится в логи.
Все возможности v0.1.5 (адресные уведомления, управление внешними устройствами, Web Push, PKCE, короткие access + обновляемые refresh токены, SQLite v5) сохранены без новых миграций. Android alpha build 18 совместим с сервером v0.1.6.
Обязательно: сделайте резервную копию до обновления и не создавайте доверенное приложение повторно с тем же slug.
ChimePort v0.1.5
ChimePort v0.1.5 — доверенные приложения, персональные уведомления
Серверная часть интеграции TMS, не требующая отдельных пользователей ChimePort.
- Изолированные получатели доверенных приложений, персональная история, идемпотентная доставка и SSE.
- Одноразовый PKCE билет и проверка прав устройства в TMS перед чтением, обновлением токенов и Web Push.
- Access на 15 минут, обновляемый refresh на 90 дней, безопасный повтор ротации токена после обрыва связи.
- Отзыв одного или всех устройств, блокировка пользователя и смена пароля в TMS немедленно запрещают дальнейшую доставку.
- Миграция SQLite 4 -> 5; старые личные аккаунты, каналы, MirvMon и HA остаются совместимыми.
ПЕРЕД ОБНОВЛЕНИЕМ: проверьте резервную копию SQLite, token-key и настройки VAPID. Откат после миграции возможен только через восстановление старой резервной копии.
Образ: ghcr.io/mirivlad/chimeport:v0.1.5 (amd64/arm64).
Android alpha APK выпускается отдельным GitHub prerelease из той же ревизии main, сохраняя идентификатор подписи; тестирование на реальном телефоне обязательно.
ChimePort Android alpha · build 18
Installable alpha APK for testing: per-channel sounds, vibration and priority; grouped notifications; tap to open an event. Optional background foreground-service delivery is best effort; force-stop and battery restrictions can interrupt it. Signed and checked against pinned alpha certificate; not a production-signed build.
ChimePort v0.1.4
ChimePort v0.1.4 — исправление Web Push через HTTPS
Исправляющий серверный релиз для пользователей PWA и браузерных уведомлений ChimePort.
Исправлено
- Исходный Docker-образ v0.1.3 (Debian bookworm-slim) не содержал хранилище доверенных системных TLS CA. Поэтому попытки отправить уведомление в Mozilla Push Service завершались
tls: failed to verify certificate: x509: certificate signed by unknown authority, хотя браузерная подписка успешно регистрировалась. - В runtime-образ добавлен пакет ca-certificates и проверка наличия непустого системного CA bundle во время сборки.
- В журнале Web Push теперь фиксируется безопасная категория ошибки (
error_class, напримерtls_unknown_authority,dns_errorилиnetwork_timeout), без полного URL push endpoint: тот содержит секретную часть подписки. - Добавлены модульные тесты классификации ошибок.
Совместимость и обновление
- Docker:
ghcr.io/mirivlad/chimeport:v0.1.4(amd64/arm64). - SQLite остаётся версии 4. Миграций, изменений API и изменений формата backup нет.
- Пользователи, каналы, токены, VAPID и Web Push-подписки сохраняются, повторное разрешение браузера не требуется.
- Android-клиент не изменился.
- Обновляйте через Portainer/Docker Compose с сохранением существующего volume
/data. Резервная копия перед redeploy рекомендуется. Откат до v0.1.3 технически возможен без отката схемы, но Web Push в старом образе останется сломан. - После обновления отправьте тестовое сообщение и проверьте всплывающее уведомление в браузере. При отсутствии push смотрите
docker logs chimeport-chimeport-1и разрешения на уведомления в браузере.
См. PWA и Web Push, Portainer и Backup / Restore.
ChimePort v0.1.3
ChimePort v0.1.3 — PWA и Web Push
Веб-приложение ChimePort теперь можно установить на рабочий стол или домашний экран и получать браузерные Web Push-уведомления по явному согласию пользователя.
Новое
- PWA: manifest, Service Worker, PNG-иконки 192/512 и самостоятельное окно приложения.
- В панели появился раздел «Настройки» с включением/отключением Web Push.
- Шифрованная отправка через стандартные push-службы браузеров (VAPID, RFC 8291/8292).
- Подписки связаны с пользователем и его сессией; выход и сброс пароля отзывают подписку. Есть ограничения на endpoints и SSRF.
- Сервер продолжает сначала сохранять уведомление в SQLite, затем пытается доставить браузерный push. Потеря push не означает потерю сообщения.
- Веб-приложение не кэширует приватные данные/API; поддержка браузеров и доставка остаются best effort.
Важная миграция: SQLite 3 → 4
При запуске сервер необратимо для v0.1.2 мигрирует существующую SQLite с версии 3 на 4. Он добавляет таблицу webpush_subscriptions и генерирует VAPID-ключи, причём приватная часть зашифрована существующим /data/token-key.
Перед обновлением обязательно создайте и проверьте резервную копию (вместе с token-key). Для отката необходимо восстановить старую базу schema 3 из архива и вернуть образ v0.1.2; просто вернуть старый Docker-тег поверх schema 4 нельзя.
Новый maintenance поддерживает backup/verify/restore схем 1–4. Не удаляйте постоянный Docker volume при обновлении.
Docker и совместимость
- Образ:
ghcr.io/mirivlad/chimeport:v0.1.3(amd64,arm64). - Обновляйте только после успешной публикации версии в GHCR.
- Android-клиент в этом релизе не изменялся; используется ранее опубликованный APK.
- Полная инструкция: PWA/Web Push и Backup/Restore.
Ограничение: уведомления при закрытом браузере зависят от браузера, push-провайдера и ограничений ОС. На iPhone/iPad нужны iOS/iPadOS 16.4+ и установленное на домашний экран веб-приложение. Фактическая доставка на конкретных устройствах требует проверки и не гарантирована для критических сигналов.
ChimePort v0.1.2
ChimePort v0.1.2
Релиз веб-сервера: три темы оформления и единый логотип ChimePort. API и формат SQLite не менялись. Обновление сохраняет пользователей, каналы, токены и историю уведомлений.
Веб-интерфейс
- Ocean — тёмный океанский стиль в цветах Android-клиента; тема по умолчанию.
- Paper — светлый режим с отдельной колонкой фильтрации входящих.
- Control — компактный технический режим для мониторинга.
- Выбор темы рядом со ссылкой «Примеры отправки», мгновенное применение без перезагрузки.
- Тема сохраняется в браузере и синхронизируется между вкладками; действует и на странице примеров API.
- Веб-логотип и favicon используют оригинальный векторный знак Android-приложения.
- Добавлены проверки выдачи статических ресурсов и краткая документация тем.
Android
Android-клиент в данном релизе не изменялся. Используйте совместимый APK из релиза v0.1.1. Переподписывать, переустанавливать или обновлять Android для переключения веб-тем не требуется.
Развёртывание
- Docker:
ghcr.io/mirivlad/chimeport:v0.1.2(linux/amd64, linux/arm64). - Portainer: обновите Git stack и переподтяните образ, не удаляя существующий том
/data. - До обновления рекомендуется создать и проверить резервную копию по инструкции.
- Лицензия AGPL-3.0-only.
ChimePort v0.1.1
ChimePort v0.1.1
Корректная синхронизация Android после объединения или удаления каналов.
Android
- Ранее загруженные сообщения теперь повторно синхронизируются, если их локальные каналы больше не существуют на сервере. При этом обновляются названия каналов в локальной истории без удаления приложения и повторного входа.
- Сообщения удалённых каналов, которых больше нет на сервере, убираются из локального кэша только после успешной полной синхронизации. При сетевых ошибках локальная история не очищается.
- Выбранные фильтры, профиль, локальные настройки и прочитанные сообщения остаются на месте.
- Android versionCode: 11, versionName: 0.8.1-alpha; подпись осталась прежней alpha-подписью, обновление ставится поверх существующего APK.
Использование
- Рекомендуемая схема ChimePort: один пользовательский канал на приложение, например
home(«Дом») иservers(«Серверы»). Тип события различайте в заголовках, тексте и приоритетах. - Обновлены примеры интеграции HA и MirvMon. Telegram остаётся параллельным способом доставки.
- Веб-API, модель хранения сообщений и формат SQLite не менялись. Сервис совместим с данными v0.1.0.
Артефакты
- Docker:
ghcr.io/mirivlad/chimeport:v0.1.1(linux/amd64, linux/arm64). - Android:
ChimePort-android-v0.1.1-alpha.apkиSHA256SUMS.txt, прикреплены к странице релиза. - Лицензия: AGPL-3.0-only.
ChimePort v0.1.0
ChimePort v0.1.0
Первый версионированный релиз self-hosted сервиса уведомлений ChimePort.
Возможности
- Сервер на Go + SQLite, TLS через внешний reverse proxy, настройка пользователей и источников в веб-панели.
- REST API для отправки уведомлений, история, SSE, прочитано/непрочитано и повторная синхронизация.
- Индивидуальные API-токены источников с правами на каналы, идемпотентная публикация.
- Ограничения частоты публикации и 30-дневное хранение сообщений по умолчанию.
- Бэкап, проверка, безопасное восстановление и миграция SQLite v3.
- Android alpha (Kotlin/Compose): несколько серверов, поиск, звуки, тихие часы, best-effort фоновая доставка.
- Локальное provisioning CLI для автоматизаций без раскрытия пароля администратора.
Артефакты
- Docker amd64/arm64:
ghcr.io/mirivlad/chimeport:v0.1.0. - Android APK:
ChimePort-android-v0.1.0-alpha.apk, файл контрольных суммSHA256SUMS.txt. - Исходники, документация, образ и клиент — AGPL-3.0-only.
Совместимость и ограничения
- Историю автоматически очищает retention (30 дней, настраивается;
0отключает). - Android-доставка при закрытом приложении зависит от ограничений системы/энергосбережения, не гарантирует мгновенного оповещения.
- Нет PWA/Web Push, совместных каналов и iOS; Android APK использует закреплённую alpha-подпись, а не production keystore.
- Предыдущий серверный образ не читает схему SQLite v3. При откате восстанавливайте согласованный архив данных через maintenance CLI.
Быстрый запуск
См. docs/11-PORTAINER-QUICKSTART.md и docs/13-BACKUP-RESTORE.md. Для закрепления версии укажите CHIMEPORT_IMAGE=ghcr.io/mirivlad/chimeport:v0.1.0.
Пример интеграции
Подключение Home Assistant, MirMon и других проектов описано в docs/14-INTEGRATIONS-PLAN.md. Токен для источника создаётся веб-панелью либо локальной командой chimeport integration provision на доверенном Docker-хосте.
ChimePort Android alpha · build 17
Installable alpha APK for testing: per-channel sounds, vibration and priority; grouped notifications; tap to open an event. Optional background foreground-service delivery is best effort; force-stop and battery restrictions can interrupt it. Signed and checked against pinned alpha certificate; not a production-signed build.
ChimePort Android alpha · build 16
Installable alpha APK for testing: per-channel sounds, vibration and priority; grouped notifications; tap to open an event. Optional background foreground-service delivery is best effort; force-stop and battery restrictions can interrupt it. Signed and checked against pinned alpha certificate; not a production-signed build.