Dockerized Telegram bot + Flask backend + static web map with Firebase Realtime Database.
- Telegram Bot Interface: Send static or live location updates with category tagging
- Flask REST API Backend: Health checks and data validation
- Real-time Web Map: Interactive map displaying tracked locations
- Firebase Realtime Database: Cloud-synchronized location storage
- Live Location Streaming: Continuous location updates stream to the same record
- Dockerized Architecture: Complete containerized setup with Docker Compose
- Docker and Docker Compose
- Telegram bot token
- Firebase Realtime Database project and a Service Account JSON (Admin SDK)
- Copy your Firebase Admin SDK JSON to
secrets/firebase-adminsdk.json(not committed). - Fill
.envwith:- NEXT_PUBLIC_FIREBASE_* values (already present)
- TELEGRAM_BOT_TOKEN=your_token_here
- Start services:
docker compose up --build- Backend: http://localhost:8000
- Web Map: http://localhost:8080
- The backend exposes
GET /healthwhich attempts a tiny read fromlocations/. - If it returns
{ status: "ok", firebase: true }, the connection works.
- The bot supports static and live locations. For live location, choose a category once; subsequent edits stream to the same record.
- Web page reads directly from Firebase using your public keys.