services: # EN: Alertmanager - Alert routing and notification delivery # VI: Alertmanager - Dinh tuyen canh bao va gui thong bao alertmanager: image: prom/alertmanager:v0.27.0 container_name: alertmanager command: - '--config.file=/etc/alertmanager/alertmanager.yml' - '--storage.path=/alertmanager' - '--web.external-url=http://localhost:9093' ports: - "9093:9093" volumes: - ./alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml:ro - alertmanager_data:/alertmanager environment: - ALERTMANAGER_SLACK_WEBHOOK_URL=${ALERTMANAGER_SLACK_WEBHOOK_URL:-} - ALERTMANAGER_SMTP_USER=${ALERTMANAGER_SMTP_USER:-} - ALERTMANAGER_SMTP_PASSWORD=${ALERTMANAGER_SMTP_PASSWORD:-} networks: - microservices-network restart: unless-stopped prometheus: image: prom/prometheus:latest container_name: prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' - '--storage.tsdb.path=/prometheus' - '--web.console.libraries=/etc/prometheus/console_libraries' - '--web.console.templates=/etc/prometheus/consoles' ports: - "9090:9090" volumes: - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml - ./prometheus/rules:/etc/prometheus/rules - prometheus_data:/prometheus networks: - microservices-network grafana: image: grafana/grafana:latest container_name: grafana ports: - "3001:3000" environment: - GF_SECURITY_ADMIN_USER=admin - GF_SECURITY_ADMIN_PASSWORD=admin - GF_USERS_ALLOW_SIGN_UP=false volumes: - grafana_data:/var/lib/grafana - ./grafana/datasources:/etc/grafana/provisioning/datasources - ./grafana/dashboards:/etc/grafana/provisioning/dashboards networks: - microservices-network depends_on: - prometheus loki: image: grafana/loki:latest container_name: loki ports: - "3100:3100" command: -config.file=/etc/loki/loki-config.yml volumes: - ./loki/loki-config.yml:/etc/loki/loki-config.yml - loki_data:/loki networks: - microservices-network promtail: image: grafana/promtail:latest container_name: promtail volumes: - /var/lib/docker/containers:/var/lib/docker/containers:ro - /var/run/docker.sock:/var/run/docker.sock - ./promtail/promtail-config.yml:/etc/promtail/promtail-config.yml command: -config.file=/etc/promtail/promtail-config.yml networks: - microservices-network volumes: prometheus_data: grafana_data: loki_data: alertmanager_data: networks: microservices-network: external: true