Skip to content

kasuganosoras/TinyStat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TinyStat

A simple status page service, written in PHP

🌐 Demo | 🗒️ 中文介绍 | 🗒️ Français

image

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
cd /data/wwwroot/my-website.com/
git clone https://github.com/kasuganosoras/TinyStat .
  1. Create a new database, using utf8mb4 charset. (Skip this step if you are using SQLite)
  2. Edit your config.php and change the database info.
  3. Running the following command in your terminal to initialize the database
php console.php install
  1. Create a new user
php console.php createuser
  1. Open the browser and visit your website to check the installation
  2. Using screen or other terminal manager to run the cron.php in background.
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

[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

  • Email notification
  • Service display sort
  • Subscribe the status

License

This project is open source under the MIT license.

About

✅ A simple status page service, written in PHP

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published