Uptime Monitor is a self-hosted web monitoring tool, built with laravel.
- Monitor your web uptime per minutes (or any time interval)
- Record response time on each web
- Show uptime badges in 3 colors: green for up, yellow for warning, red for down, based on response time
- Send telegram notification when you site down for 5 minutes (based on check periode)
- Open-source, modify as you need
- Self-hosted, deploy on your own server
- Store and control your monitoring logs yourself
- Let you know when your websites are down
- For freelancer/agency, increase your client's trust because you monitor their website
This application can be installed on local server and online server with these specifications:
- PHP 8.1 (and meet Laravel 10.x requirements).
- MySQL or MariaDB Database.
- SQLite (for automated testing).
- Clone repository:
git clone https://github.com/nafiesl/uptime-monitor.git
$ cd uptime-monitor
- Install PHP dependencies:
$ composer install
- Install javscript dependencies:
$ npm install
- Copy
.env.example
to.env
:$ cp .env.example .env
- Generate application key:
$ php artisan key:generate
- Create a MySQL or MariaDB database.
- Configure database and environment variables
.env
.APP_URL=http://localhost:8000 APP_TIMEZOME="Asia/Jakarta" DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret TELEGRAM_NOTIFER_TOKEN=
- Run database migration:
$ php artisan migrate --seed
- Build assets:
$ npm run build
- Run task scheduler:
$ php artisan schedule:work
- Start server in a separeted terminal tab:
$ php artisan serve
- Open the web app: http://localhost:8000.
- Login using default user credential:
- Email:
admin@example.net
- Password:
password
- Email:
- Go to Customer Site menu.
- Add some new customer sites (name and URL).
- After adding customer sites, go to Dashboard
- Click Start Monitoring to update the uptime badge per minute.
TODO
Uptime Monitor project is an open-sourced software licensed under the Lisensi MIT.