Code Monkey home page Code Monkey logo

statpage's Introduction

statpage | minimal status page application

showcase

I use statpage for my own services, so here is a live demo I guess

๐Ÿ“‘ Features

  • No JavaScript
  • Fully customizable and configurable
  • Supports status checks for HTTP, HTTPS, TCP and TLS services
  • Easy deployment with docker

๐Ÿš€ Setup

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

Building from source

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

โš™๏ธ Configuration

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.

General config options

  • title: Title for the status page, this will also be displayed on the header.
  • address: The interface and the port that statpage will listen on
  • contact: Contact URL that will be displayed at the bottom of the page
  • interval: Service check interval
  • reset: When there is as much check results as reset, a new result will drop the oldest result in the list
  • time: Enable/disable showing response times
  • services: List of services to check

Service config options

  • name: Service name
  • address: Service address, NOT THE URL. If you want to check https://example.com:9191, address would be example.com:9191.
  • type: Service type. Options are: HTTP, HTTPS, TCP and TLS
  • data: Data that will be sent. If you are using HTTP or HTTPS as the type then this would be the path. If you are using TCP or TLS as the type then this would be the raw data to send
  • link: 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

Rule config options

  • contains: The service status will be up if the service response contains this data.
  • not_contains: The service status will be down 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

โœจ Customization

If you want to customize the status page, check out theme.css.example file to get started.

๐Ÿ“ƒ Licenses

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.

statpage's People

Contributors

dependabot[bot] avatar ngn13 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.