Cachet - Self-Hosted Status Page

Cachet Free StatusPage Software

Improve Downtime With Self-Hosted Status Page System

Free monitoring of websites, applications and APIs with open source status page system. Inform users about downtime, system outages, and scheduled maintenance.

Overview

Cachet is a free and self-hosted status page system. This free status page software enables businesses to timely inform subscribers about system outages and scheduled maintenance. It also helps to improve downtime and companies are using it to better communicate to customers and teams. Further, a subscriber can subscribe to one or all components/sites to get email notifications. Cachet comes with outstanding features such as responsive UI, Multi-lingual, metrics, Two-factor authentication, and many more.

Cachet has a beautiful responsive UI and the admin can customize the look and feel of the status page from the back-office. User authentication is the first and necessary step for every web application. Cachet has powerful user authentication and authorization mechanism. In addition, the admin can enable Tow-factor authentication for user’s accounts to apply an additional security layer. Cachet open source status page system comes with an out-of-the-box powerful API that can be used to perform different CRUD operations for components, incidents, and many more. There are several third-party libraries available for web applications monitoring and use built-in API for updating Cachet.

Cachet status page is a self-hosted alternative to StatusPage.io and Status.io software. It is written in PHP Laravel framework and uses MySQL for storing data. The license for this self-hosted status page system is BSD-3-Clause.

System Requirements

In order to install Cachet, you must have the following softwares:

  • PHP 5.5.9+
  • MySQL 5.0 +
  • Apache / Nginx
  • Composer and ext-mbstring,ext-tokenizer
  • Git

Features

Following are the key features of phpList:

  • Beautifully crafted.
  • Translated.
  • JSON API.
  • Scheduled maintenance.
  • Internationalization.
  • Metrics.
  • Opensource.
  • Two-factor authentication.
  • Manage users.
  • Manage components & groups.
  • Manage Incidents.
  • Subscribers for Notifications.
  • Customize header, footer & styles.

Installation

Install Cachet on Ubuntu 16.04 LTS with Nginx using Github

Nginx is the most popular and secure web server. In order to install Nginx, use the following command

sudo apt install nginx 

Once the Nginx is install, configure the domain and restart the Nginx by using the following command

sudo service nginx restart 

Next, need to install database Server, use the following command to install MySql server

sudo apt-get update;  sudo apt-get install mysql-server; mysql_secure_installation 

Once, the database server is installed, use the following command to restart MySql server

sudo service mysql restart 

Install PHP for processing

sudo apt-get install php-fpm php-mysql

Now, you have installed all the required software and the next step is to login to mysql server and create phplist database. Use following command to create database. Change with your database name.

CREATE DATABASE  

Create a database user called "" with new password. and granted user full access to the database by running the following commands. Change with your desired database user and with your desired password.

CREATE USER ''@'localhost' IDENTIFIED BY ''; 
GRANT ALL ON .* TO ''@'localhost' IDENTIFIED BY '' WITH GRANT OPTION;
FLUSH PRIVILEGES; EXIT;

To get Cachet latest release you may want to use Github repository… Install git tool to download Cachet packages.


sudo apt install curl git
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

After installing curl above, change into the Apache2 root directory and download Cachet packages from Github.


cd /var/www/html
sudo git clone -b 2.4 --single-branch https://github.com/cachethq/Cachet.git cachet

Next the commands below to create Cachet .env file. Then update the database connection setting and save the file.


sudo cp /var/www/html/cachet/.env.example /var/www/html/cachet/.env
sudo nano /var/www/html/cachet/.env

After that, run the commands below to use composer to install all required package.


cd /var/www/html/cachet
sudo composer install --no-dev -o

Set up the application key by running and install Cachet.


sudo php artisan key:generate
sudo php artisan cachet:install

Then run the commands below to set the correct permissions for Cachet root directory.


sudo chown -R www-data:www-data /var/www/html/cachet/
sudo chmod -R 755 /var/www/html/cachet/

Congrats! You have successfully installed Cachet on NGINX

Installation using Docker

Getting started with Docker Compose. Quickly launch Cachet, NGINX and PostgreSQL docker images with docker-compose.

Clone the repository


$ git clone https://github.com/cachethq/Docker.git cachet-docker
$ cd cachet-docker

Edit the docker-compose.yml file to specify your ENV variables.

To build an image containing a specific Cachet release, change the cachet_ver ARG in the docker-compose.yml file.


cachet:
   build:
     context: .
     args:
       - cachet_ver=v2.3.10

Build and run the image


$ docker-compose build
$ docker-compose up

Continue to configure Cachet in your web browser by navigating to your Docker host’s IP address.

Run a DB container.


$ docker run --name postgres -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -d postgres:9.5

Run Cachet.


$ docker run -d --name cachet --link postgres -e DB_DRIVER=pgsql -e DB_HOST=postgres -e DB_DATABASE=postgres -e DB_USERNAME=postgres -e DB_PASSWORD=postgres -d cachethq/docker:latest

Now go to “http://ipdockerisboundto:8000/setup” and follow steps for configurations.