Running with Docker

In the Healthchecks source code, /docker/ directory, you can find a sample configuration for running the project with Docker and Docker Compose.

Note: The Docker configuration is a recent addition, and, for the time being, should be considered experimental.

Note: For the sake of simplicity, the sample configuration starts a single database node and a single web server node, both on the same host. It also does not handle SSL termination. If you plan to expose it to the public internet, make sure you put a SSL-terminating load balancer or reverse proxy in front of it.

Getting Started

  • Grab the Healthchecks source code from the Github repository.
  • Add your configuration in the /docker/.env file. As a minimum, set the following fields:
    • DEFAULT_FROM_EMAIL – the "From:" address for outbound emails
    • EMAIL_HOST – the SMTP server
    • EMAIL_HOST_PASSWORD – the SMTP password
    • EMAIL_HOST_USER – the SMTP username
    • SECRET_KEY – secures HTTP sessions, set to a random value
  • Create and start containers:

    $ cd docker
    $ docker-compose up
    
  • Create a superuser:

    $ docker-compose run web /opt/healthchecks/manage.py createsuperuser
    
  • Open http://localhost:8000 in your browser and log in with the credentials from the previous step.