cachethq / Docker

A Dockerized version of Cachet.
https://cachethq.io
BSD 3-Clause "New" or "Revised" License
416 stars 280 forks source link
cachet docker-image status statuspage

Cachet Docker Image

This is the official repository of the Docker image for Cachet.

Cachet is a beautiful and powerful open source status page system, a free replacement for services such as StatusPage.io, Status.io and others.

For full documentation, visit the Installing Cachet with Docker page.

Supporting Cachet

Cachet is a BSD-3-licensed open source project. If you'd like to support future development, check out the Cachet Patreon campaign.

Quickstart

  1. Clone this repository

    git clone https://github.com/CachetHQ/Docker.git
  2. Edit the docker-compose.yml file to specify your ENV variables.

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

    The main branch and cachethq/docker:latest Docker automated build are a work in progress / development version of the upstream https://github.com/CachetHQ/Cachet project. As such, main or latest should not be used in a production environment as it can change at anytime.

    We strongly recommend specifying a stable Cachet Release at build time as mentioned above.

  4. Build and run the image

    docker-compose build
    docker-compose up
  5. cachethq/docker runs on port 8000 by default. This is exposed on host port 80 when using docker-compose.

  6. Setup the APP_KEY

Whilst the container is up and running, find the name of the Cachet container via docker ps.

Run docker exec -i ID_OF_THE_CONTAINER php artisan key:generate.

Replace ${APP_KEY:-null} in docker-compose.yml with the newly generated Application key.

Note: make sure you include base64: prefix. E.g. base64:YOUR_UNIQUE_KEY

Restart the Docker containers.

Docker Hub Automated build

cachethq/docker is available as a Docker Hub Trusted Build.

For a full list of Cachet versions released as Docker images please see the list of Docker hub tags.

Please use a tagged Cachet Docker image release or one of the tagged builds from https://hub.docker.com/r/cachethq/docker/tags/ with docker pull cachethq/docker:2.3.12.

Debugging

Testing

Pull requests must pass the Bash Automated Testing System tests, which run on Travis CI via located in the test directory.

Use make test to manually run the tests.

Development of Cachet using this docker environment

  1. Clone the official repo of CachetHQ/Docker:

    git clone https://github.com/CachetHQ/Docker.git cachet-docker
    cd cachet-docker
    git tag -l
    git checkout $LATEST_TAG
  2. Clone the official repo of CachetHQ/Cachet here and do composer install:

    git clone https://github.com/CachetHQ/Cachet.git
  3. Setup the Cachet project:

Note: This requires Composer be installed on your Docker host.

cd Cachet
composer install
cp ../conf/.env.docker ./.env
cd ..
  1. Edit the docker-compose.yml file to bind mount the repo as a volume:

    cachet:
    volumes:
      - ./Cachet/:/var/www/html/
    ...  
  2. Build and run the container:

    docker-compose up
  3. Open new terminal and run the following commands after getting container name via docker ps:

    docker exec -i cachetdocker_cachet_1  php artisan key:generate
    docker exec -i cachetdocker_cachet_1  php artisan app:install