version: '3.8' services: # Loki - Log aggregation loki: image: grafana/loki:2.9.2 container_name: trading-bot-loki ports: - "3100:3100" volumes: - loki_data:/loki - ./monitoring/loki:/etc/loki command: -config.file=/etc/loki/loki-config.yaml healthcheck: test: ["CMD", "wget", "-q", "--spider", "http://localhost:3100/ready"] interval: 30s timeout: 10s retries: 3 networks: - trading-bot-network # Grafana - Visualization for logs and metrics grafana: image: grafana/grafana:10.2.0 container_name: trading-bot-grafana ports: - "3000:3000" environment: - GF_SECURITY_ADMIN_PASSWORD=admin - GF_SECURITY_ADMIN_USER=admin - GF_PATHS_PROVISIONING=/etc/grafana/provisioning volumes: - grafana_data:/var/lib/grafana - ./monitoring/grafana/provisioning:/etc/grafana/provisioning depends_on: - loki networks: - trading-bot-network volumes: loki_data: grafana_data: networks: trading-bot-network: external: true