Skip to content

crazy-max/docker-healthchecks

Repository files navigation

Latest Version Build Status Docker Stars Docker Pulls
Become a sponsor Donate Paypal

About

Docker image for Healthchecks, a cron monitoring tool.

Tip

Want to be notified of new releases? Check out 🔔 Diun (Docker Image Update Notifier) project!


Features

  • Run as non-root user
  • Multi-platform image
  • Traefik as reverse proxy and creation/renewal of Let's Encrypt certificates (see this template)

Build locally

git clone https://github.com/crazy-max/docker-healthchecks.git
cd docker-healthchecks

# Build image and output to docker (default)
docker buildx bake

# Build multi-platform image
docker buildx bake image-all

Image

Registry Image
Docker Hub crazymax/healthchecks
GitHub Container Registry ghcr.io/crazy-max/healthchecks

Following platforms for this image are available:

$ docker run --rm mplatform/mquery crazymax/healthchecks:latest
Image: crazymax/healthchecks:latest
 * Manifest List: Yes
 * Supported platforms:
   - linux/amd64
   - linux/arm/v7
   - linux/arm64

Environment variables

  • TZ: The timezone assigned to the container (default UTC)
  • PUID: Process UID (default 1000)
  • PGID: Process GID (default 1000)
  • SUPERUSER_EMAIL: Superuser email to access admin panel
  • SUPERUSER_PASSWORD: Superuser password
  • USE_OFFICIAL_LOGO: Replace generic logo with official branding (default false)

To configure the application, you just add the environment variables as shown in the Configuration page of Healthchecks Project.

💡 SUPERUSER_PASSWORD_FILE can be used to fill in the value from a file, especially for Docker's secrets feature.

Volumes

  • /data: Contains SQLite database and static images folder

⚠️ Note that the volumes should be owned by the user/group with the specified PUID and PGID. If you don't give the volume correct permissions, the container may not start.

Ports

Usage

Docker Compose

Docker compose is the recommended way to run this image. You can use the following docker compose template, then run the container:

docker compose up -d
docker compose logs -f

Command line

You can also use the following minimal command:

$ docker run -d -p 8000:8000 --name healthchecks \
  -e "TZ=Europe/Paris" \
  -e "SECRET_KEY=5up3rS3kr1t" \
  -e "DB=sqlite" \
  -e "DB_NAME=/data/hc.sqlite" \
  -e "ALLOWED_HOSTS=*" \
  -v $(pwd)/data:/data \
  crazymax/healthchecks:latest

Upgrade

Recreate the container whenever I push an update:

docker compose pull
docker compose up -d

Contributing

Want to contribute? Awesome! The most basic way to show your support is to star the project, or to raise issues. You can also support this project by becoming a sponsor on GitHub or by making a PayPal donation to ensure this journey continues indefinitely!

Thanks again for your support, it is much appreciated! 🙏

License

MIT. See LICENSE for more details.