services: app: build: context: . dockerfile: backend/Dockerfile container_name: leadradar restart: unless-stopped env_file: - .env environment: # По ТЗ в env — несекретные параметры + MinIO/ключ шифрования (см. договорённости) LEADRADAR_DATA: /data LEADRADAR_PORT: "8000" LEADRADAR_MINIO_ENDPOINT: "minio:9000" LEADRADAR_ML_URL: "http://ml:8100" volumes: - ./data:/data # DuckDB + telegram-сессии + вложения depends_on: - minio - ml ports: - "${LEADRADAR_PORT:-8000}:8000" ml: build: ./mlservice container_name: leadradar-ml restart: unless-stopped environment: ML_DATA: /data/ml.duckdb # собственная модель (volume), наружу порт не публикуется volumes: - ./data/ml:/data minio: image: minio/minio:latest container_name: leadradar-minio command: server /data --console-address ":9001" restart: unless-stopped env_file: - .env environment: MINIO_ROOT_USER: ${LEADRADAR_MINIO_ACCESS_KEY:-leadradar} MINIO_ROOT_PASSWORD: ${LEADRADAR_MINIO_SECRET_KEY:-leadradar-secret} volumes: - ./data/minio:/data ports: - "9000:9000" - "9001:9001"