All Projects → Ne00n → statibus

Ne00n / statibus

Licence: MIT license
Minimalistic Statuspage with rqlite and php

Programming Languages

PHP
23972 projects - #3 most used programming language
CSS
56736 projects
shell
77523 projects

Projects that are alternatives of or similar to statibus

imml
⚡ Create minimalist, blazing fast no-javascript websites from a single, portable plain text file
Stars: ✭ 141 (+540.91%)
Mutual labels:  no-javascript
nekonekostatus
一个Material Design风格的探针
Stars: ✭ 364 (+1554.55%)
Mutual labels:  status-page
updown-status-page
Free updown.io status page for all your checks, just edit a config file (hosted by Netlify)
Stars: ✭ 38 (+72.73%)
Mutual labels:  status-page
status
📈 Uptime monitor and status page for ORY
Stars: ✭ 22 (+0%)
Mutual labels:  status-page
blog-nojs-fingerprint-demo
A demo for the no-JavaScript fingerprinting article
Stars: ✭ 443 (+1913.64%)
Mutual labels:  no-javascript
nitter-instances
Automated uptime monitoring of Nitter instances.
Stars: ✭ 153 (+595.45%)
Mutual labels:  status-page
kirby-highlight
Themeable server-side syntax highlighting for Kirby
Stars: ✭ 14 (-36.36%)
Mutual labels:  no-javascript
PteroStats
PteroStats is a bot designed to check Pterodactyl Panel and Nodes status and post it to your discord server
Stars: ✭ 122 (+454.55%)
Mutual labels:  status-page
etna-uptime
Based on https://github.com/upptime/upptime.
Stars: ✭ 17 (-22.73%)
Mutual labels:  status-page
boba
A lightweight, modular CSS framework.
Stars: ✭ 47 (+113.64%)
Mutual labels:  no-javascript
Statping
Status Page for monitoring your websites and applications with beautiful graphs, analytics, and plugins. Run on any type of environment.
Stars: ✭ 5,806 (+26290.91%)
Mutual labels:  status-page
statuspage
A simple, zero-dependency, pure js/html status page based on GitHub Pages and Actions.
Stars: ✭ 441 (+1904.55%)
Mutual labels:  status-page
out
Monitor services in your menu bar
Stars: ✭ 155 (+604.55%)
Mutual labels:  status-page
sic
link aggregator community organised by tags (with no javascript)
Stars: ✭ 82 (+272.73%)
Mutual labels:  no-javascript
skeuos-css
A lightweight CSS library that provides a set of predesigned elements useful for rapid web development. It follows the latest skeuomorphic design trends, using bright colors and subtle shadows for some depth.
Stars: ✭ 45 (+104.55%)
Mutual labels:  no-javascript
HyperNav
HyperNav is an advanced and interactive CSS navigation menu framework. No JavaScript.
Stars: ✭ 23 (+4.55%)
Mutual labels:  no-javascript
rqlite-docker
rqlite docker images
Stars: ✭ 17 (-22.73%)
Mutual labels:  rqlite

statibus

Minimalistic Statuspage with 30,60s interval Ping, Port & HTTP(S) IPv4 & IPv6 Monitoring.

Overview

Key Points

  • rqlite database
  • PHP 7.3+ (bcmath,curl)
  • Handmade css, no framework, about 2kb
  • Zero Javascript

ToDo

  • nothin

QuickSetup:

  1. Get a rqlite instance up and running
    Check configs/rqlite.service if you wish to run rqlite as a service.
  2. Rename configs/config.example.php to configs/config.php, you may edit it
  3. To Initialize the databse run:
php cli.php init
  1. You can add the first service by running:
php cli.php group add Servers
php cli.php service add Servers Server ping 8.8.8.8
  1. Enable the cronjobs, see => configs/cron|uptime.example
    Run cron every 60s, uptime is for generating the uptime percentages, every 5 minutes is fine
  2. Optional you use remote probes to confirm downtimes.
    To do this, put the check.php file in content/remotes on a remote server, whitelist the statibus ip and add it to statibus.
    You should add at least 2 remotes, the more the better. The queries will be rotated between the remotes.

You can access the databse anytime via ./rqlite in case the commands are not enough.

Caching

rqlite has its limits at about 250 requests per second, due to the raft consensus.
So you should setup some type of caching, 1s is enough to prevent rqlite from not responding to queries.

Updating

SQL Migrations: https://github.com/Ne00n/statibus/tree/main/migrations

CLI

service

php cli.php service add <group> <name> <method> <target> <timeout> <httpcode(s)> <keyword>

Examples:

php cli.php service add Servers Server ping 8.8.8.8
php cli.php service add Servers Service port 8.8.8.8:80 2
php cli.php service add Servers Website http https://website.com 2 200
php cli.php service add Servers Website http https://website.com 2 400,404
php cli.php service add Servers Keyword http https://keyword.com 2 200 clusterfuck
php cli.php service list
php cli.php service delete <name>

group

php cli.php group add <name>
php cli.php group list
php cli.php group delete <name>

remotes (optional)

#url example: https://check.com/check.php you can rename the file of course
php cli.php remote add <name> <url>
php cli.php remote list
php cli.php remote delete <name>
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].