I use statpage for my own services, so here is a live demo I guess
- No JavaScript
- Fully customizable and configurable
- Supports status checks for HTTP, HTTPS, TCP and TLS services
- Easy deployment with docker
mkdir -p statpage/config statpage/data
cd statpage
# copy and edit the example configuration file before
# starting the container - see the configuration section
docker run -d -v $PWD/data:/app/data \
-v $PWD/config:/app/config \
-p 80:8877 \
--name statpage \
ghcr.io/ngn13/statpage:latest
Example configuration can be found here
If you don't want to install statpage with docker, then you will need to compile it from the source as I do not release any binaries:
git clone https://github.com/ngn13/statpage.git
cd statpage
go build
After that just run: ./statpage
An example configuration file can be found at config.json.example.
Copy this file to config/config.json
to get started with the configuration.
Note
However you will need to restart the application if you edit the interval
or the address
config options. The other options do not require a restart.
title
: Title for the status page, this will also be displayed on the header.address
: The interface and the port that statpage will listen oncontact
: Contact URL that will be displayed at the bottom of the pageinterval
: Service check intervalreset
: When there is as much check results asreset
, a new result will drop the oldest result in the listtime
: Enable/disable showing response timesservices
: List of services to check
name
: Service nameaddress
: Service address, NOT THE URL. If you want to checkhttps://example.com:9191
,address
would beexample.com:9191
.type
: Service type. Options are:HTTP
,HTTPS
,TCP
andTLS
data
: Data that will be sent. If you are usingHTTP
orHTTPS
as thetype
then this would be the path. If you are usingTCP
orTLS
as thetype
then this would be the raw data to sendlink
: Link to the service that will be displayed. If you don't want to add a link, then leave this one empty, aka set it to""
rule
: Rule for the service check
contains
: The service status will beup
if the service response contains this data.not_contains
: The service status will bedown
if the service response contains this data.
You can use both of these options at the same time, keep in mind that not_contains
have priority
over contains
If you want to customize the status page, check out theme.css.example file to get started.
This project is licensed under GNU General Public License version 3 (GPLv3). Please see LICENSE.txt for more information.
License for NerdFonts, which is the font used in the application, can be found here.