A lightweight bot that monitors YouTube channels and sends rich notifications to Discord.
6.0K
A lightweight, self-hosted bot that monitors YouTube channels and playlists for new videos containing specific keywords, then posts ultra-clean notifications to Discord via webhooks.
# Test your configuration first (recommended)
docker run --rm \
-e ET_TEST_MODE=true \
-e ET_CHANNEL_IDS=UCexample1 \
-e ET_KEYWORDS=minecraft,gaming \
richardthornton/echotube:latest
# Production deployment
docker run -d \
--name=echotube \
-e ET_CHANNEL_IDS=UCexample1,UCexample2 \
-e ET_KEYWORDS=minecraft,gaming \
-e ET_DISCORD_WEBHOOK_URLS=https://discord.com/api/webhooks/... \
-v ./cache:/app/cache \
richardthornton/echotube:latest
ET_DISCORD_WEBHOOK_URLS - Your Discord webhook URLs (comma-separated for multiple servers)ET_KEYWORDS - Comma-separated keywords to match in video titlesET_CHANNEL_IDS - Comma-separated YouTube channel IDs (UCxxxxx format)ET_PLAYLIST_IDS - Comma-separated playlist IDs (PLxxxxx format)ET_MATCH_TYPE - any (default) or all keyword matchingET_POLL_INTERVAL_SECONDS - Poll frequency (default: 300, minimum: 60)ET_LOG_LEVEL - DEBUG, INFO (default), WARN, ERRORET_CACHE_FILE - Path for persistent cache (default: memory only)ET_TEST_MODE - Set to true to validate config without postingET_DEVELOPMENT_MODE - Set to true to post only one video per sourceservices:
echotube:
image: richardthornton/echotube:latest
container_name: echotube
restart: unless-stopped
environment:
- ET_CHANNEL_IDS=UCexample1,UCexample2
- ET_KEYWORDS=minecraft,gaming,tutorial
- ET_DISCORD_WEBHOOK_URLS=https://discord.com/api/webhooks/...
- ET_POLL_INTERVAL_SECONDS=300
- ET_LOG_LEVEL=INFO
volumes:
- ./cache:/app/cache
youtube.com/channel/UCexample or view page source for "channelId":"UClist= in the URLET_DISCORD_WEBHOOK_URLS (can specify multiple URLs separated by commas)The container includes a built-in health check that monitors the application status.
# Check container health
docker ps
View structured JSON logs with timestamps and operation tracking:
# View logs
docker logs echotube
# Follow logs in real-time
docker logs -f echotube
# Debug logging
docker run -e ET_LOG_LEVEL=DEBUG richardthornton/echotube
latest - Latest stable releasev1.x.x - Specific version tagsmain - Development branch (not recommended for production)MIT ยฉ Richard Thornton
EchoTube: Because YouTube notifications should be clean and simple. โจ
Content type
Image
Digest
sha256:07dde1827โฆ
Size
46.1 MB
Last updated
about 1 year ago
docker pull richardthornton/echotube