Compose files for a monitoring system.
- Docker (19.03.0+)
- Docker Compose
- Grafana
- Prometheus
- Uptime Kuma
- node_exporter (optional, machine stats)
- This deployment assumes you use Traefik as a reverse proxy
- This deployment does not uses SMTP (see
GF_SMTP_*
configuration keys for that) - Some part of the configuration related to OAUTH were omitted to simplify this repo (see
GF_AUTH_GENERIC_OAUTH_*
configuration keys for that) - Network configuration of the Compose file was omitted
- The real deployment uses a different drive for secrets (including the
prometheus.yml
) but was simplified for this repo
This deployment uses multiple volumes:
.
- Current directory, pulled from the configuration repository/mnt/store
- A dedicated storage area
- Change paths of
/mnt/secrets
and/mnt/store
to your desired ones. - Create the environment file
.env
containing:
grafanahostname=grafana.something.tld
kumahostname=kuma.something.tld
GF_SECURITY_ADMIN_PASSWORD=iamsecret
POSTGRES_DB=grafana
POSTGRES_USER=grafana
POSTGRES_PASSWORD=evenmoresecret
docker compose up -d uptime-kuma
and set it up- Fill the uptime-kuma credentials in the
prometheus.yml
to be able to scrape data from it docker compose up -d
bring the rest of the services up
You can now go on your Grafana hostname and set it up.