version: '3' services: postgres: image: postgres:latest environment: - POSTGRES_USER=grafana - POSTGRES_PASSWORD - POSTGRES_DB=grafanadb volumes: - ./data/postgres:/var/lib/postgresql/data/ restart: always healthcheck: test: pg_isready -U grafana -d grafanadb interval: 10s timeout: 5s retries: 5 redis: image: redis:latest restart: always healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 3s retries: 3 grafana: image: grafana/grafana:latest user: "1000" volumes: - ./data/grafana:/var/lib/grafana - ./data/grafana-config:/etc/grafana ports: - 127.0.0.1:84:3000 restart: always prometheus: image: prom/prometheus:latest restart: always command: - --config.file=/etc/prometheus/prometheus.yml volumes: - ./conf/prometheus.yml:/etc/prometheus/prometheus.yml - ./data/prometheus:/prometheus extra_hosts: - "host.docker.internal:host-gateway"