Watchtower is monitoring software for Laravel and your VPS.
Watchtower will send you an alert:
- If your Laravel application has new logs
- If any of your Supervisor processes (queue workers) are not running
- If your server is running out of disk space (coming soon)
- If your server is offline (coming soon)
No AI or enterprise complexity, just an alert when things go wrong.
Visit https://watchtower.dev/about to learn more about Watchtower or watch a YouTube video:
Here are good places to start if you'd like to explore the code:
- client/run.sh is the Bash client that collects data and sends it to Watchtower
- ReceiveBundleController receives and ingests data from the client
Watchtower is a typical Laravel application. Host it as you would any other Laravel application (using Laravel Forge, for example).
Requirements:
- PHP 8.4
- MySQL (might also work with another database driver)
- Redis (optional, but recommended)
- Email credentials (using the
smtpdriver in your.envfile) - A cron job
- A queue worker (
artisan queue:work --queue=default)
Once you have that set up, run:
php artisan watchtower:prepare-client(also run this command after each deployment)php artisan watchtower:invite-user(this also tests your SMTP credentials)
Watchtower is open-sourced software licensed under the MIT license.