https://github.com/kasuganosoras/tinystat
✅ A simple status page service, written in PHP
https://github.com/kasuganosoras/tinystat
monitoring php status-page
Last synced: 5 months ago
JSON representation
✅ A simple status page service, written in PHP
- Host: GitHub
- URL: https://github.com/kasuganosoras/tinystat
- Owner: kasuganosoras
- License: mit
- Created: 2023-08-09T21:07:54.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-08-20T19:59:58.000Z (almost 2 years ago)
- Last Synced: 2024-08-20T21:56:30.988Z (almost 2 years ago)
- Topics: monitoring, php, status-page
- Language: PHP
- Homepage:
- Size: 2.57 MB
- Stars: 42
- Watchers: 2
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TinyStat
A simple status page service, written in PHP
[🌐 Demo](https://status.zerodream.net/) | [🗒️ 中文介绍](README_zh.md) | [🗒️ Français](README_fr.md)

## Features
* TCP/UDP/ICMP/HTTP Service support
* Locale support
* Incident description with markdown support
* Email/Discord/Kook/DingTalk/WeCom notification
* MySQL/SQLite3 support
## Requirements
* PHP >= 7.0
* Extension: cURL, Socket, PDO
* MySQL / Mariadb with InnoDB support
* SQLite3 (optional)
* Terminal access (for cron/console)
## Installation
1. Clone this repo to your website root folder
```bash
cd /data/wwwroot/my-website.com/
git clone https://github.com/kasuganosoras/TinyStat .
```
2. Create a new database, using `utf8mb4` charset. (Skip this step if you are using SQLite)
3. Edit your config.php and change the database info.
4. Running the following command in your terminal to initialize the database
```bash
php console.php install
```
5. Create a new user
```bash
php console.php createuser
```
6. Open the browser and visit your website to check the installation
7. Using `screen` or other terminal manager to run the `cron.php` in background.
```bash
cd /data/wwwroot/my-website.com/
screen -Dms tinystat /usr/local/php/bin/php cron.php
```
You can also use systemd to manage the service.
File: `/etc/systemd/system/tinystat.service`
```text
[Unit]
Description=TinyStat Service
After=network.target
[Service]
WorkingDirectory=/data/wwwroot/my-website.com/
ExecStart=/usr/local/php/bin/php cron.php
Restart=always
RestartSec=5s
[Install]
WantedBy=multi-user.target
```
## TO-DO
- [x] Email notification
- [x] Service display sort
- [ ] Subscribe the status
## License
This project is open source under the MIT license.