services: config-generator: build: context: ../../ dockerfile: config_generator/Dockerfile volumes: - ./katanemo-config.yaml:/usr/src/app/katanemo-config.yaml - ./generated:/usr/src/app/out envoy: build: context: ../../ dockerfile: envoyfilter/Dockerfile hostname: envoy ports: - "10000:10000" - "19901:9901" volumes: - ./generated/envoy.yaml:/etc/envoy/envoy.yaml - /etc/ssl/cert.pem:/etc/ssl/cert.pem networks: - envoymesh depends_on: config-generator: condition: service_completed_successfully embeddingserver: condition: service_healthy embeddingserver: build: context: ../../embedding-server dockerfile: Dockerfile ports: - "18081:80" healthcheck: test: ["CMD", "curl" ,"http://localhost:80/healthz"] interval: 5s retries: 20 networks: - envoymesh qdrant: image: qdrant/qdrant hostname: vector-db ports: - 16333:6333 - 16334:6334 networks: - envoymesh chatbot-ui: build: context: ../../chatbot-ui dockerfile: Dockerfile ports: - "18080:8080" networks: - envoymesh environment: - OPENAI_API_KEY=${OPENAI_API_KEY} - CHAT_COMPLETION_ENDPOINT=http://envoy:10000/v1/chat/completions prometheus: image: prom/prometheus container_name: prometheus command: - '--config.file=/etc/prometheus/prometheus.yaml' ports: - 9090:9090 restart: unless-stopped volumes: - ./prometheus:/etc/prometheus - ./prom_data:/prometheus networks: - envoymesh grafana: image: grafana/grafana container_name: grafana ports: - 3000:3000 restart: unless-stopped environment: - GF_SECURITY_ADMIN_USER=admin - GF_SECURITY_ADMIN_PASSWORD=grafana volumes: - ./grafana:/etc/grafana/provisioning/datasources - ./grafana/dashboard.yaml:/etc/grafana/provisioning/dashboards/main.yaml - ./grafana/dashboards:/var/lib/grafana/dashboards # - ./grafana-data:/var/lib/grafana networks: - envoymesh networks: envoymesh: {}