version: '3.8' services: orbix-api: build: context: . dockerfile: Dockerfile ports: - "8000:8000" volumes: - ./logs:/app/logs - ./models:/app/models environment: - KAFKA_BOOTSTRAP_SERVERS=kafka:9092 - LOG_LEVEL=INFO depends_on: - kafka restart: unless-stopped zookeeper: image: confluentinc/cp-zookeeper:7.3.0 ports: - "2181:2181" environment: ZOOKEEPER_CLIENT_PORT: 2181 ZOOKEEPER_TICK_TIME: 2000 restart: unless-stopped kafka: image: confluentinc/cp-kafka:7.3.0 ports: - "9092:9092" environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 KAFKA_AUTO_CREATE_TOPICS_ENABLE: "true" depends_on: - zookeeper restart: unless-stopped streamlit-frontend: build: context: . dockerfile: Dockerfile.frontend ports: - "8501:8501" environment: - API_URL=http://orbix-api:8000 depends_on: - orbix-api restart: unless-stopped