A lightweight Laravel application that keeps you connected with your favorite YouTube creators by delivering friendly notifications whenever they publish new videos.
Introduction • Key Features • Quick Start with Docker • Standard Installation • Using the Notifier • Configuration Options • FAQ • Support & Community • Testing
YouTube Channel Notifier helps you stay updated with your favorite content creators even if you don't have a Google account anymore. Never miss a video from channels you care about — we'll let you know whenever something new gets published through friendly email or Discord notifications.
- Effortless Channel Tracking: Easily add and manage YouTube channels you love
- Flexible Notifications: Choose between email alerts, Discord messages, or both
- Simple CLI Interface: Manage everything through intuitive commands
- Privacy-Focused: No YouTube API keys required, no data sharing with third parties
- Docker Ready: Get up and running in minutes with automatic setup and persistence
Important
This project is managed through simple CLI terminal commands and doesn't have a web interface for management.
The fastest way to get notified about new videos from your favorite creators:
./build-docker.sh
docker run -d --name youtube-notifier \
-p 8080:80 \
-e MAIL_HOST=your-smtp-server \
-e MAIL_PORT=587 \
-e MAIL_USERNAME=your-username \
-e MAIL_PASSWORD=your-password \
-e [email protected] \
-e [email protected],[email protected] \
-e DISCORD_WEBHOOK_URL=your-discord-webhook-url \
youtube-channel-notifier
# Connect to the container
docker exec -it youtube-notifier sh
# Add YouTube channels to monitor
php artisan channels:add
# See what you're tracking
php artisan channels:list
# Exit when done (the notifier keeps running)
exit
That's it! The container automatically checks for new videos every 5 minutes and will notify you when creators post new content.
# View container logs
docker logs youtube-notifier
# Stop the container
docker stop youtube-notifier
# Start the container
docker start youtube-notifier
# Remove the container
docker rm youtube-notifier
YouTube Channel Notifier comes with friendly commands to manage everything:
# Add a new YouTube channel to monitor
php artisan channels:add
# List all your monitored channels
php artisan channels:list
# Remove a channel you no longer want to track
php artisan channels:remove
# See all videos the notifier has discovered
php artisan videos:list
# Manually check your channels for new videos
php artisan channels:check
When adding a channel, you'll need the channel ID. Here's how to find it:
- Visit the YouTube channel's page
- View the page source (right-click → View Page Source)
- Search for
itemprop="identifier" content="
- The ID appears after this text
Note
This method is a bit clumsy. Any PRs to automate this reliably via extracting it from the page would be greatly appreciated!
- PHP 8.2+
- Composer
- SQLite, PostgreSQL or MySQL
# Clone the repository
git clone https://github.com/lewislarsen/youtube-channel-notifier.git
cd youtube-channel-notifier
# Install dependencies
composer install
# Run our friendly interactive installer
php artisan app:install
The interactive installer will guide you through:
- Setting up your notification preferences
- Adding your first YouTube channels to monitor
If you prefer to configure things yourself:
# Copy environment file and generate application key
cp .env.example .env
php artisan key:generate
# Configure your database in .env, then run migrations
php artisan migrate
# Add notification settings to .env (see Configuration section)
To automatically check for new videos, add this cron entry to your server:
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
Note: If you're using Docker, the scheduler is already configured and running for you.
Configure your preferred notification methods in the .env
file:
MAIL_MAILER=smtp
MAIL_HOST=smtp.example.com
MAIL_PORT=587
MAIL_USERNAME=username
MAIL_PASSWORD=password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=[email protected]
# Single or multiple recipients (comma-separated)
ALERT_EMAILS=[email protected],[email protected]
DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/your-webhook-url
Not at all! We only track metadata (title, publish date, URL) about videos through public RSS feeds. No video content is ever downloaded, stored, or processed.
The notifier checks every 5 minutes, so you'll know about new content shortly after it's published.
No, and that's a good thing! The application uses YouTube's public RSS feeds, which means:
- No API key required
- No quotas or rate limits to worry about
- Simpler setup for you
No, we can only detect publicly available videos that appear in the channel's RSS feed.
Currently, we focus on regular video uploads and filter out livestream content.
Not yet. Currently, the application is designed specifically for YouTube creators.
We'd love to hear your ideas! Open an issue in the repository and we'll consider adding more notification options.
If you encounter any issues or have ideas for improvements, please open an issue on our repository. We're always looking for ways to make YouTube Channel Notifier better for everyone!
Contributions are warmly welcomed! If you'd like to help improve the project, please feel free to submit a Pull Request and we'll review it as soon as possible.
This project uses Pest for testing:
# Run all tests
./vendor/bin/pest