cstate is a free, open source monitoring & observability project written in HTML and released under MIT. It has 2,894 GitHub stars, 249 forks and 9 open issues, and was last pushed 21 days ago. On this registry it ranks #78 of 97 tracked projects in Monitoring & Observability, with 5 head-to-head comparisons available. It gained 1 stars over the last 3 tracked days.

What is cstate?

What it is

cState is an open-source static status page project in the infrastructure and operations monitoring and observability ecosystem. It uses Hugo and Go to generate a serverless status site, so the published page is made of static files rather than a continuously running status application.

It solves the problem of publishing incident history and service availability information without operating a dynamic status application. Because the site is static, it can be hosted on common Git and deployment platforms, while the software records downtime, links incidents to systems or categories, and remains usable without JavaScript.

Key capabilities

  • cState builds a static status page with Hugo and Go, generating sites with many incident entries in seconds.
  • It presents incidents through minimal HTML, CSS, and JavaScript, with support for legacy browsers such as Internet Explorer 8.
  • It supports dark theme and customization from one file or settings page.
  • It includes Netlify CMS integration and supports Forestry.io for no-code incident creation.
  • It provides a read-only API, RSS output, and built-in shields.io-style badges for embeds.
  • It organizes incidents by system or category and records downtime duration and repair statistics.
  • It offers language support for English, German, French, Italian, Lithuanian, Macedonian, Dutch, Portuguese, Turkish, and Tagalog.

Who uses it and how

  • Teams publish public status pages for outages, maintenance, and incident history, as shown by Chocolatey, sr.ht, Content Ignite, FSCI, and Testing Farm.
  • Operators deploy the generated Hugo site to GitHub Pages, Netlify, Cloudflare Pages, GitLab Pages, Vercel, render.com, or their own hosting.
  • Maintainers create incident entries through a local editor, Netlify CMS, or Forestry.io, then publish the static site.
  • Integrators consume the read-only API or RSS feed to display incident data in custom HTML and JavaScript interfaces.
  • Users embed badges on documentation, repositories, or websites to show current status without building a full dashboard.

Getting started

To start a new site, create a Hugo site using cState as a theme and host the repository on Git, usually GitHub. Deploy the generated site through Cloudflare Pages, Netlify, GitHub Pages, GitLab Pages, Vercel, render.com, or self-hosted infrastructure, and use Netlify CMS, Forestry.io, or local editing.

When to use it β€” and when not to

Use cState when the main need is a free-to-host, static status page for recording incidents and sharing uptime history, especially when hosting on GitHub Pages or Netlify is preferred. It is not a complete replacement for paid status services that include automatic real-time monitoring and notification delivery, because the README states that it cannot monitor services out of the box. Self-hosters must operate the deployment pipeline and connect their own monitoring or incident-reporting workflow, since cState is an informational hub rather than a monitoring engine.

project readme (upstream, from github) β€” read inline

Über fast to load and build, works with legacy browsers such as Internet Explorer, tiny, and simple OSS status page built with Hugo. Completely free with Netlify. Comes with Netlify CMS, read-only API, badges like from shields.io, and other useful features.

GitHub release GitHub Repo stars Awesome status page

VISIT THE CSTATE WEBSITE HERE

You can support the creator of this project by starring, sharing, using cState and/or financially supporting the author. Thank you!

Sponsors

You can sponsor cState by sponsoring the main developer of the project, @mistermantas.

Examples πŸ₯³

Official

More examples from the internet

Want your status page here? Create a PR!

Contents πŸ”

Features 😎

NEW: HTML Embed now in version 2. Check it out!

cState HTML embed lets you add a dot indicator or show an alert if your cState status page has active issues

Fast.

  • Fast to load. Even on Internet Explorer 8. Incredible browser support. Minimal JS. No CSS dependencies either.
  • Fast to create incidents. Use the command line or setup a CMS like Netlify CMS or Forestry for a no-code experience. See here
  • Stays fast. Hugo & Golang can build a site with thousands of entries in seconds.

Nice.

  • Focused, adaptable design. Auto dark mode. Easy customization from one file (or settings page). Statistical calculations show the key take-away (e.g., time spent fixing an issue).
  • Fit for any language. With built-in support for English, German, French, Italian, Lithuanian, Macedonian, Dutch, Portuguese, Turkish, and Tagalog. See here
  • All incidents, sorted. Link incidents to systems/categories, let users know how long previous downtime took, and more.

Free.

  • Free hosting. Host on supported platforms like Netlify or manage cState yourself. See here
  • Free your data. Use RSS or the read-only API to create custom HTML/JS integrations or simply embed the built-in badges/shields.
  • Free for developers to expand upon. Integrate monitoring, link to other systems, change any text or style, create custom pages, and more.

Please note that with all that cState can do, it cannot do automatic monitoring out of the box. See this thread You can think of the cState status page as an informational hub. Because the software is static, it cannot directly monitor any services in real time.

However, cState is a perfect option for recording incidents because most of the time your services are functioning, so the status page does not need to be updated. By default, the little bit of JavaScript on the page improves the user experience but is not required to see the most vital information.

There are other commercial options that may update faster because of their architecture, have built-in real-time uptime monitoring, send notifications by email or other means, but cState is not supposed to be better than paid solutions.

Getting started πŸ’»

This is how you create a new site powered by cState. What you are generating is a Hugo site with specific, already existing modifications (to Hugo, cState acts like a theme).

IF YOU ARE A DEVELOPER / WANT TO CONTRIBUTE TO THE DEVELOPMENT, SCROLL TO THE BOTTOM. THIS IS FOR USERS.

Aside from hosting the repository itself on Git (usually on GitHub), your next options are:

  • Site deployment platform:
    • Cloudflare Pages (recommended for larger teams)
    • Netlify (recommended for most easy setup)
    • GitHub Pages
    • GitLab Pages
    • Vercel
    • render.com
    • host it yourself
  • Admin panels / CMS:
    • Forestry.io
    • Netlify CMS
    • Or just edit locally / use your Git provider's online editor (github.com, gitlab.com, etc)

You can also look at other headless CMS options (we use Git-based CMS types) on jamstack.org.

🧑 Cloudflare Pages (GitHub Pages, render.com, Vercel, Forestry...)

If you wish to use Netlify, use the button below for easier deployment.

All other static site generator platforms require you to follow this instruction:

  1. Clone the repository cstate/example - here is a link to do it on GitHub
  2. Go to pages.cloudflare.com and sign in
  3. Create a new site from Git, select your newly generated repository
  4. These are the settings you should be using:
  • Build command: hugo
  • Publish directory: public
  • Add one build environment variable
    • Key: HUGO_VERSION
    • Value: 0.101.0 (or later)

πŸ’š Netlify and Netlify CMS

You don't have to use Netlify, but this is the best option if you need Netlify CMS which works best with Netlify. It takes just a few clicks to make it work, more info is in the documentation.

You can simply click this button to get started:

Deploy to Netlify

πŸ’œ GitLab Pages

Here is a good guide for getting started with the service.

In short: a .gitlab-ci.yml file is responsible for making cState work. As of v4.2.1, the cState automatically ships with this file, but support is still experimental. It may take up to 30 minutes before the site is available after the first deployment.

As of this time, this is a relatively untested option, but Hugo does seem to generate the right things (this can be checked by downloading the CI/CD artifacts).

You can make Netlify CMS work on GitLab, but that requires overriding an existing file in the theme. Create a file in static/admin/config.yml and follow the instructions linked earlier. (cState by default ships with Git Gateway for Netlify.)

Manual builds

For this tutorial, it is assumed that you have Hugo and Git installed (check with hugo version & git --version).

A minimum version of 0.80 is required for Hugo, starting with v5.

I want to use my site in production

Clone the example repository:

git clone --recursive -b master https://github.com/cstate/example.git

You must use --recursive so that Git downloads cState and you do not have an empty themes/cstate folder.

Now you can edit what's inside the folder (cd example) and try previewing that with this command:

hugo serve

Edit the config file. Once the changes you wanted done are finished, generate the final files like this:

hugo

And the folder public can now be hosted.

As you can imagine, manual building is a little bit tedious but a great option to have available programmatically.

Docker

cState comes with a Dockerfile and Netlify (according to their article from 2016) uses a similar Docker system to build cState. This is an option for people who prefer Docker and NGINX instead of serverless, but serverless still has the priority in cState development.

For a quick start, you can use the prebuilt images from AethiQs-Felix/cstate_docker. For advanced usage and customization, please refer to the Docker section of the wiki.

Updating πŸŽ‰

**If you are updating from one major version

readme truncated β€” read the full docs on github

Frequently asked questions

Is cstate free to use?

cstate is open source under the MIT licence. There is no licence fee and no seat count β€” you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does cstate do?

πŸ”₯ Open source static (serverless) status page. Uses hyperfast Go & Hugo, minimal HTML/CSS/JS, customizable, outstanding browser support (IE8+), preloaded CMS,

What is cstate written in?

cstate is primarily written in HTML. Its source is publicly available at https://github.com/cstate/cstate, and it has 2,894 GitHub stars.