Skip to content

n0mer/Cachet

 
 

Repository files navigation

Cachet

StyleCI Build Status Quality Score Software License Crowdin

Screenshot

Features

  • List your services components
  • Log incidents
  • Apply custom CSS to the status page
  • Markdown support for incident messages
  • JSON API
  • Translated into eleven languages
  • Metrics
  • Cross-database support: MySQL, PostgreSQL and SQLite
  • Subscriber notifications via Email
  • Two factor authentication, with Google Authenticator

Requirements

Development Requirements

The following extra dependencies are required to develop Cachet:

  • Node.js
  • Bower
  • Gulp

Installation, Upgrades and Documentation

You can now find our documentation at https://docs.cachethq.io.

Demo Account

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

The demo is reset every half 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 Vagrant

If you would like to utilize laravel homestead, we have a per-project installation available to use for development purposes.

First, install dependencies by composer install and modify Homestead.yaml to map your Cachet directory to the Vagrant VM properly. It looks like this by default:

folders:
    - map: "/srv/www/Cachet"
      to: "/home/vagrant/Cachet"

Change the map key to the location of your Cachet installation and follow the instructions below.

# Copy over your environment variables
$ cp .env.example .env

# Initiate VM
$ vagrant up

# Generate application key
$ php artisan key:generate

# SSH into your machine
$ vagrant ssh

# Run migrations
$ cd Cachet && php artisan migrate

Navigate to http://192.168.10.10 and begin using Cachet!

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 --rm --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.

docker-compose

Quickly launch Cachet and MySQL docker images with docker-compose

git clone https://github.com/cachethq/Cachet.git
cd Cachet
docker-compose build
docker-compose up

To initialize the database, utilize docker exec:

docker exec -it cachet_cachet_1 php artisan migrate --force

Continue to http://<ipdockerisboundto>/setup to configure Cachet.

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.

About

An open source status page system, for everyone.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 92.3%
  • CSS 6.0%
  • JavaScript 1.4%
  • Other 0.3%