An updated drop-in for statping. A Status Page for monitoring your websites and applications with beautiful graphs, analytics, and plugins. Run on any type of environment.
 
 
 
 
 
 
Go to file
Adam a2325c24db
Merge pull request #274 from EdisonFu/dev
Add header validation to prevent service panic.
2024-05-10 18:07:54 +01:00
.github/workflows use custom action for pushing docker images 2024-01-04 23:15:13 +01:00
.vscode Revert template placeholders 2020-10-12 15:30:21 -07:00
cmd remove additional "v" from version during startup 2023-04-19 22:52:01 +02:00
database Moved from adamboutcher to org statping-ng 2021-08-13 12:30:49 +01:00
dev create basic docs about the new workflow 2023-02-18 23:35:01 +01:00
frontend Update spanish.js 2024-04-11 15:25:40 +02:00
handlers Fix local logins 2022-10-27 17:23:10 +01:00
notifiers bump node,go,docker-compose versions 2022-03-09 00:01:29 -07:00
source Merge pull request #217 from pete1854/dev 2023-07-10 15:58:54 +01:00
types Add header validation to prevent service panic. 2024-02-28 15:57:48 +08:00
utils fix unused vars 2023-01-31 22:48:41 +00:00
.dockerignore LetsEncrypt SSL cert process with ENVs, JWT token key from API secret SHA256 2020-07-14 21:26:54 -07:00
.gitattributes Update .gitattributes 2019-10-25 15:32:46 -07:00
.gitignore Add smtp and imap service types 2023-07-10 02:21:35 +01:00
.gitmodules add submodule path to gitmodules 2023-02-01 21:07:27 +01:00
CHANGELOG.md Updated Changelog 2022-01-26 16:49:42 +00:00
CloudronManifest.json systemctl command 2020-07-26 00:04:18 -07:00
Dockerfile Fix healthcheck port 2024-01-04 18:20:33 +01:00
LICENSE package name change 2018-12-03 21:57:11 -08:00
Makefile Add smtp and imap service types 2023-07-10 02:21:35 +01:00
README.md fix: build status badges in README 2023-05-29 12:33:20 +10:00
app.json More changes from statping to statping-ng 2021-08-13 11:04:55 +01:00
doc.go Hyphen isnt a legal char for a go packagename so substituted wih underscore 2021-08-13 18:59:06 +01:00
docker-compose.yml fix naming in docker-compose 2021-08-28 20:50:11 +02:00
go.mod Add smtp and imap service types 2023-07-10 02:21:35 +01:00
go.sum Add smtp and imap service types 2023-07-10 02:21:35 +01:00
install.sh Updates to statping install script, including a new quiet for curl. 2021-08-25 10:53:08 +01:00
snapcraft.yaml Snap now a service and works correctly 2021-09-03 20:15:15 +01:00

README.md

Statping-ng

Statping-ng - Web and App Status Monitoring for Any Type of Project

Website | Wiki
Linux | Windows | Mac | Containers

Statping-ng - Status Page & Monitoring Server

An easy to use Status Page for your websites and applications. Statping will automatically fetch the application and render a beautiful status page with tons of features for you to build an even better status page. This Status Page generator allows you to use MySQL, Postgres, or SQLite on multiple operating systems.

Statping-ng aims to be an updated drop-in replacement of statping after development stopped on the original fork.

License

Last Commit Dev Build Status Unstable Build Status Stable Build Status

Docker Pulls Docker Image Size

Go Version Go Report


About Statping-ng

A Future-Proof Status Page

Statping-ng strives to remain future-proof and remain intact if a failure is created. Your Statping-ng service should not be running on the same instance you're trying to monitor. If your server crashes your Status Page should still remaining online to notify your users of downtime.

Try Statping-ng via Play with Docker - Login is admin, password admin.



No Requirements - Run on Any Server

Statping-ng is built in Go Language so all you need is the pre-compiled binary based on your operating system. You won't need to install anything extra once you have the Statping binary installed. Windows, Linux or Mac, We compile to all the popular systems, including Raspberry Pi!

Linux Windows Apple Mac Containers Android Play Store Apple Apps Store




Lightweight and Fast

Statping-ng is a very lightweight application and is available for Linux, Mac, and Windows. The Docker image is only ~20Mb so you know that this application won't be filling up your hard drive space. The Status binary for all other OS's is ~17Mb at most.




Want easy containers?

No Worries, we provide docker containers for many different system architectures, with multiple docker-compose files to suit your needs, you can even bring your own SSL Certificate or automatically leverage Lets Encrypt to keep things secure. But it's can be as simple as a docker run!



Custom SASS Styling

Statping-ng will allow you to completely customize your Status Page using SASS styling with easy to use variables. The container image actually contains a pre-built SASS binary so you won't even need to setup anything!



Compatible with the Statping App

Statping-ng is 100% compatible with the statping app which is available on the Apple App Store and Google Play for free. The app will allow you to view services, receive notifications when a service is offline, update groups, users, services, messages, and more! Start your own Statping-ng server and then connect it to the app by scanning the QR code in settings.

The mobile app is not maintained by statping-ng and includes in-app purchases to the developer of statping.



Notifications - Slack, Email, Twilio and more

Statping-ng includes email notification via SMTP and Slack integration using Incoming Webhook. Insert the webhook URL into the Settings page in Statping-ng and enable the Slack integration. Anytime a service fails, the channel that you specified on Slack will receive a message.

View the Plugin Wiki to see detailed information about Golang Plugins. Statping-ng isn't just another Status Page for your applications, it's a framework that allows you to create your own plugins to interact with every element of your status page. Notifier's can also be create with only 1 golang file.




Easy to use Dashboard

Having a straight forward dashboard makes Statping-ng that much better. Quickly and Easy view statuses. Monitor your websites and applications with a basic HTTP GET request, or add a POST request with your own JSON to post to the endpoint.





Quick Start

Here's a few quick start guides to get you going, fast.

Docker

Use the Statping Docker Image to create a status page in seconds. Checkout the Docker Wiki to view more details on how to get started using Docker.

docker run -it -p 8080:8080 adamboutcher/statping-ng

Docker Compose

In the root (base) folder there is a standard docker-compose file that includes nginx, postgres, and Statping-ng.

docker-compose up -d

Docker Compose with Automatic SSL

You can automatically start a Statping-ng server with automatic SSL encryption using this docker-compose file. First point your domain's DNS to the Statping-ng server, and then run this docker-compose command with DOMAIN and EMAIL. Email is for letsencrypt services.

LETSENCRYPT_HOST=mydomain.com \
    LETSENCRYPT_EMAIL=info@mydomain.com \
    docker-compose -f docker-compose-ssl.yml up -d

Once your instance has started, it will take a moment to get your SSL certificate. Make sure you have a A or CNAME record on your domain that points to the IP/DNS of your server running Statping-ng.

Prometheus Exporter

Statping-ng includes a Prometheus Exporter so you can have even more monitoring power with your services. The Prometheus exporter can be seen on /metrics, simply create another exporter in your prometheus config. Use your Statping-ng API Secret for the Authorization Bearer header, the /metrics URL is dedicated for Prometheus and requires the correct API Secret has Authorization header.

scrape_configs:
  - job_name: 'statping'
    bearer_token: 'MY API SECRET HERE'
    static_configs:
      - targets: ['statping:8080']

Contributing

Statping-ng accepts Push Requests to the dev branch!

Feel free to add your own features and notifiers.You probably want to checkout the Notifier Wiki to get a better understanding on how to create your own notification methods for failing/successful services.

Testing on Statping-ng will test each function on MySQL, Postgres, and SQLite. I recommend running MySQL and Postgres Docker containers for testing.

You can find multiple docker-compose files in the dev directory.