2c740ff2d2bd51ca33e646d59ba2b2ab482f30fd
Navigation: - Restructure flat nav into grouped tree: Notification (Trackers, Configs, Templates), Commands (same), Bots (Telegram), Settings (Common, Users) - Collapsible groups with expand/collapse state persisted in localStorage - Auto-expand group containing the active page - Counter badges on groups (sum of children) and individual items - New /api/status/counts endpoint for nav badge data - Mobile bottom nav uses flattened key pages Dashboard: - Rename "Recent Events" to "Events" - Move chart under Events section (after filters, before event list) - Filters (event type, provider, search) now affect both the event list AND the chart simultaneously - Add event_type, provider_id, search filter params to /api/status/chart
Notify Bridge
A generic bridge between service providers and notification targets.
Notify Bridge monitors services (like Immich photo servers) for changes and dispatches notifications to configurable targets (Telegram, webhooks) using customizable templates.
Architecture
- Service Providers — Connectors to external services (Immich, more coming)
- Trackers — Monitor specific collections within a provider for changes
- Tracking Configs — Define what events to watch for and scheduling rules
- Notification Targets — Where to send notifications (Telegram chats, webhook URLs)
- Template Configs — Jinja2 templates that format notifications per provider type
Project Structure
packages/
core/ — Shared library: providers, models, notifications, templates
server/ — FastAPI REST server with SQLite database
frontend/ — SvelteKit dashboard (Svelte 5, Tailwind CSS v4)
Quick Start
# Backend
cd packages/server
pip install -e .
NOTIFY_BRIDGE_DATA_DIR=./test-data NOTIFY_BRIDGE_SECRET_KEY=your-secret-key-min-32chars \
python -m uvicorn notify_bridge_server.main:app --host 0.0.0.0 --port 8420
# Frontend
cd frontend
npm install
npm run dev
Supported Providers
- Immich — Photo/video server with album change detection
Description
Bridge service events (Immich, …) to notification targets (Telegram, webhooks) via customizable Jinja2 templates and commands.
Releases
31
Notify Bridge 0.10.0
Latest
Languages
Python
59.9%
Svelte
26.1%
HTML
7.6%
TypeScript
3.7%
Jinja
2%
Other
0.6%