Public | Automated Build

Last pushed: a month ago
Short Description
An open source status page system, for everyone.
Full Description

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.

Note: You must specify a unique APP_KEY including base64: prefix generated by php artisan key:generate within the container.

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

    The master 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, master 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.

  2. Build and run the image

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

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

  • The services such as Cachet, supervisord, nginx, and php-fpm log to stdout and sdterr, and are visible in the Docker runtime output.

  • Setting the DEBUG Docker environment variable within the docker-compose.yml file or at runtime to true will enable debugging of the container entrypoint init script.

Debugging

  • The services such as supervisord, nginx, and php-fpm log to stdout, and are visible in the Docker runtime output.

  • The Cachet applications logs are written inside the container in the /var/www/html/storage/logs/ directory. These logs are useful for troubleshooting "Houston we have a problem!" or other 500 errors. You can access them via docker exec:

    # Get current logfile name
    
    $ docker exec -it docker_cachet_1 ls storage/logs/
    laravel-2017-06-07.log
    
    # cat logfile:
    
    $ docker exec -it docker_cachet_1 cat storage/logs/laravel-2017-06-07.log
    
  • Setting the DEBUG Docker environment variable within the docker-compose.yml file or at runtime to true will enable debugging of the container entrypoint init script.

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
    
Docker Pull Command
Owner
cachethq
Source Repository