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.
Cachet is a BSD-3-licensed open source project. If you'd like to support future development, check out the Cachet Patreon campaign.
Clone this repository
git clone https://github.com/CachetHQ/Docker.git
Edit the docker-compose.yml file to specify your ENV variables.
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.
Build and run the image
docker-compose build
docker-compose up
cachethq/docker
runs on port 8000 by default. This is exposed on host port 80 when using docker-compose.
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.
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
.
The services such as Cachet, supervisord, nginx, and php-fpm log to stdout
and stderr
, 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.
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.
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
Clone the official repo of CachetHQ/Cachet here and do composer install:
git clone https://github.com/CachetHQ/Cachet.git
Setup the Cachet project:
Note: This requires Composer be installed on your Docker host.
cd Cachet
composer install
cp ../conf/.env.docker ./.env
cd ..
Edit the docker-compose.yml file to bind mount the repo as a volume:
cachet:
volumes:
- ./Cachet/:/var/www/html/
...
Build and run the container:
docker-compose up
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