A simple HTMX-powered web application for managing birthday records with Telegram bot notifications.
This application has no authentication or authorization mechanisms.
- Anyone with access to the web interface can view, edit, or delete all birthday data
- Do not expose this service to the public internet without proper security measures
- Recommended for local networks, private deployments, or behind authentication proxies only
- Local Network Only: Deploy on localhost or private network
- VPN Access: Place behind a VPN for remote access
- Reverse Proxy Auth: Use nginx, Traefik, or similar with authentication
- Firewall Rules: Restrict access to specific IP addresses
- Container Networks: Use Docker networks to limit exposure
- 🎂 Web interface for managing birthday records
- 🤖 Telegram bot notifications for birthday reminders
- 📱 Mobile-responsive design
- 🔄 Real-time updates with HTMX
- 🐳 Multi-architecture Docker support (amd64, arm64, i386)
# Pull and run the latest image
docker run -d \
-p 8080:8080 \
-v ./data:/data \
-e TELEGRAM_BOT_TOKEN=your_bot_token \
ghcr.io/5mdt/bd_bot:latest# Clone the repository
git clone https://github.com/5mdt/bd_bot
cd bd_bot
# Set environment variables
echo "TELEGRAM_BOT_TOKEN=your_bot_token" > .env
# Start the application
docker-compose up -d# Install Go 1.21+
# Clone the repository
git clone https://github.com/5mdt/bd_bot
cd bd_bot
# Build and run
go build -o bd_bot ./cmd/app
./bd_botPORT: Server port (default: 8080)YAML_PATH: Path to birthday data file (default:/data/birthdays.yaml)TELEGRAM_BOT_TOKEN: Telegram bot tokenNOTIFICATION_START_HOUR: Start hour for notifications in UTC (default: 8)NOTIFICATION_END_HOUR: End hour for notifications in UTC (default: 20)
DEBUG: Set totruefor verbose loggingLOG_LEVEL: Set toDEBUG,INFO,WARN, orERROR
- Create a bot with @BotFather
- Get the bot token
- Set the
TELEGRAM_BOT_TOKENenvironment variable - Add the bot to your Telegram chats
- Use
/update_birth_date YYYY-MM-DDto set birthdays
This project is open source. See the LICENSE for details.
This software is provided "as is" without any warranty. Users are responsible for securing their deployment according to their security requirements.