From 1d043702ef136e8f2e516c5304a57be5718f1f6f Mon Sep 17 00:00:00 2001 From: Tyler Hoang Date: Thu, 9 Jul 2026 21:49:56 -0700 Subject: Initial commit: docker compose files for all self-hosted services 12 services: adguard, ampache, azuracast, flood, glance, glances, grafana, immich, invidious, jellyfin, openwebui, watchtower Each service includes a docker-compose.yml, README.md with setup instructions, and .env.example where applicable. --- grafana/README.md | 23 +++++++++++++++++++++++ grafana/docker-compose.yml | 21 +++++++++++++++++++++ grafana/prometheus.yml | 16 ++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 grafana/README.md create mode 100644 grafana/docker-compose.yml create mode 100644 grafana/prometheus.yml (limited to 'grafana') diff --git a/grafana/README.md b/grafana/README.md new file mode 100644 index 0000000..4e0a53d --- /dev/null +++ b/grafana/README.md @@ -0,0 +1,23 @@ +# Grafana + Prometheus + +Metrics visualization dashboard with Prometheus as the data source. + +## Setup + +1. Edit `prometheus.yml` to add your scrape targets. + +2. Start: + ``` + docker compose up -d + ``` + +## Access + +- Grafana: `http://:3000` + - Default login: `admin` / `admin` (change on first login) + +## What to Configure + +- **`prometheus.yml`** — Add your scrape targets (node_exporter, nginx_exporter, etc.) before starting. The file currently contains example targets. +- **Grafana** — On first login, add Prometheus as a data source at `http://prometheus:9090`. +- **Data persistence** — Both `prometheus_data` and `grafana_data` are Docker volumes. They persist across restarts and stack upgrades. diff --git a/grafana/docker-compose.yml b/grafana/docker-compose.yml new file mode 100644 index 0000000..f9be4fd --- /dev/null +++ b/grafana/docker-compose.yml @@ -0,0 +1,21 @@ +services: + prometheus: + image: prom/prometheus + container_name: prometheus + restart: unless-stopped + volumes: + - ./prometheus.yml:/etc/prometheus/prometheus.yml + - prometheus_data:/prometheus + + grafana: + image: grafana/grafana + container_name: grafana + restart: unless-stopped + ports: + - "3000:3000" + volumes: + - grafana_data:/var/lib/grafana + +volumes: + prometheus_data: + grafana_data: diff --git a/grafana/prometheus.yml b/grafana/prometheus.yml new file mode 100644 index 0000000..2198130 --- /dev/null +++ b/grafana/prometheus.yml @@ -0,0 +1,16 @@ +global: + scrape_interval: 15s + +scrape_configs: + # Add your own scrape targets. Examples: + # - job_name: node_exporter + # static_configs: + # - targets: [':9100'] + # + # - job_name: nginx_exporter + # static_configs: + # - targets: [':9113'] + # + # - job_name: pihole + # static_configs: + # - targets: [':9617'] -- cgit v1.3-2-g0d8e