Запуск Grafana с использованием Docker Compose

Для удобства и безопасности переменные, такие как домен и пароль, можно вынести в отдельный файл. Это позволит легко управлять конфигурацией и предотвращает хранение данных непосредственно в docker-compose.yml.

📂 Сначала создаем папку для данных контейнера и переходим в неё:

mkdir -p ./data/grafana && cd $_

🔑 Создаём файл .env в папке grafana и добавляем в него следующие переменные:

YOUR_DOMAIN=grafana.example.com
ADMIN_PASSWORD=yourpassword

⚠️ Важно: Замените grafana.example.com на ваш домен и yourpassword на желаемый пароль для администратора Grafana.


🛠️ Теперь создаём файл docker-compose.yml и добавляем содержимое:

version: '3.3'

services:
  grafana:
    container_name: grafana
    environment:
      - ROOT_URL=https://${YOUR_DOMAIN}
      - GF_SECURITY_ADMIN_USER=Admin
      - GF_SECURITY_ADMIN_PASSWORD=${ADMIN_PASSWORD}
      - GF_USERS_ALLOW_SIGN_UP=false
    network_mode: traefik_network
    restart: always
    ports:
      - 3000:3000
    volumes:
      - grafana-data:/var/lib/grafana:rw
    image: grafana/grafana:8.0.0

volumes:
  grafana-data:
    driver: local

Примечание: Docker автоматически подставит значения из .env файла в конфигурацию docker-compose.yml.


🌐 Для работы через Traefik добавьте лейблы в docker-compose.yml и не забудьте закомментировать секцию ports:

    labels:
      - traefik.enable=true
      - traefik.http.middlewares.grafana_https.redirectscheme.scheme=https
      - traefik.http.routers.grafana.entrypoints=web
      - traefik.http.routers.grafana.middlewares=grafana_https@docker
      - traefik.http.routers.grafana.rule=Host(`${YOUR_DOMAIN}`)
      - traefik.http.routers.grafana_https.entrypoints=websecure
      - traefik.http.routers.grafana_https.rule=Host(`${YOUR_DOMAIN}`)
      - traefik.http.routers.grafana_https.tls=true
      - traefik.http.services.grafana.loadbalancer.server.port=3000
      - traefik.http.routers.grafana_https.tls.certresolver=le

🚀 Запуск Grafana

Запустите контейнер с командой:

docker-compose up -d

После запуска Grafana доступна по адресу https://grafana.example.com.