/Cachet

An open source status page system, for everyone.

Primary LanguagePHPBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Cachet

StyleCI Build Status Quality Score Software License Gitter

Screenshot

Currently in development. Things may change or break until a solid release has been announced.

Features

  • List your services components.
  • Log incidents.
  • Apply a custom stylesheet to the status page.
  • Markdown support for incident messages.
  • RESTful API.
  • Translated into several languages.
  • Metrics.
  • Cross-database support: MySQL, PostgreSQL and SQLite.

Requirements

  • PHP 5.4 or newer
  • mcrypt extension
  • Composer

Development Requirements

The following extra dependencies are required to develop Cachet.

  • Node.js
    • Bower
    • Gulp

Installation & Documentation

You can now find our documentation at https://docs.cachethq.io or, directly at http://cachet.readme.io if the first link fails to load. Cachet Demo.

Demo Account

To test out the demo, you may login to the Dashboard with the following:

The demo is reset every half past the hour.

What Cachet is not

Here is a list of things that Cachet is not or does not do:

  1. It does not monitor your services. It works only as a way to display the status of your services. However, Cachet is able to receive updates from third-party services via its API.
  2. It does not work on a plugin system. There are no monitoring services to extend.
  3. It's not a Twitter clone.

Quickstart with Docker

Run a DB container (you can either pass in environment variables for the DB, or mount a config with -v /my/database.php:/var/www/html/app/config/database.php):

$ export DB_USERNAME=cachet
$ export DB_PASSWORD=cachet
$ export DB_ROOT_PASSWORD=cachet
$ export DB_DATABASE=cachet
$ docker run --name mysql -e MYSQL_USER=$DB_USERNAME -e MYSQL_PASSWORD=$DB_PASSWORD  -e MYSQL_ROOT_PASSWORD=$DB_ROOT_PASSWORD -e MYSQL_DATABASE=$DB_DATABASE -d mysql

Initialize the DB if you haven't yet:

$ docker run --link mysql:mysql -e DB_HOST=mysql -e DB_DATABASE=$DB_DATABASE -e DB_USERNAME=$DB_USERNAME -e DB_PASSWORD=$DB_PASSWORD cachethq/cachet:latest php artisan migrate --force

Run Cachet:

$ docker run -d --name cachet --link mysql:mysql -p 80:8000 -e DB_HOST=mysql -e DB_DATABASE=$DB_DATABASE -e DB_USERNAME=$DB_USERNAME -e DB_PASSWORD=$DB_PASSWORD cachethq/cachet:latest

Now go to http://<ipdockerisboundto>/setup and have fun!

Note: When running in production you should ensure that you enable SSL. This is commonly achieved by running Nginx with your certificates on your Docker host, service or load balancers in-front of the running container, or by adding your custom SSL certificates and configuration to the supplied Nginx configuration.

Addons

Read more about Cachet

For more information on why I started developing Cachet, check out my Cachet articles on my blog.

Translations

A special thank you to our translators, who have allowed us to share Cachet with the world. If you'd like to contribute translations, please check out our CrowdIn project.