version: '3.8' services: api: build: . container_name: whatsapp-medical-chatbot-api restart: always ports: - "8000:8000" volumes: - ./app:/app/app - ./storage:/app/storage env_file: - .env networks: - app-network prometheus: image: prom/prometheus:latest container_name: prometheus restart: always ports: - "9090:9090" volumes: - ./monitoring/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml - prometheus_data:/prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' - '--storage.tsdb.path=/prometheus' - '--web.console.libraries=/usr/share/prometheus/console_libraries' - '--web.console.templates=/usr/share/prometheus/consoles' networks: - app-network grafana: image: grafana/grafana:latest container_name: grafana restart: always ports: - "3000:3000" volumes: - grafana_data:/var/lib/grafana - ./monitoring/grafana/provisioning:/etc/grafana/provisioning depends_on: - prometheus networks: - app-network loki: image: grafana/loki:latest container_name: loki restart: always ports: - "3100:3100" command: -config.file=/etc/loki/local-config.yaml networks: - app-network promtail: image: grafana/promtail:latest container_name: promtail restart: always volumes: - ./storage/logs:/var/log - ./monitoring/promtail/config.yml:/etc/promtail/config.yml command: -config.file=/etc/promtail/config.yml depends_on: - loki networks: - app-network networks: app-network: driver: bridge volumes: prometheus_data: grafana_data: