services: redis: image: redis:7-alpine restart: unless-stopped volumes: - redis_data:/data postgres: image: postgres:16-alpine restart: unless-stopped environment: POSTGRES_USER: atc POSTGRES_PASSWORD: atc-agents-pg POSTGRES_DB: atc_agents volumes: - postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U atc -d atc_agents"] interval: 5s timeout: 5s retries: 10 api: build: ./api restart: unless-stopped env_file: - atc.env environment: REDIS_URL: redis://redis:6379/0 DOCKHAND_URL: http://10.0.21.45:8082 DATABASE_URL: postgresql+psycopg2://atc:atc-agents-pg@postgres:5432/atc_agents SQLITE_FALLBACK_PATH: /data/atc-agents.db DOCLING_URL: http://docling-serve:5001 PRESENTATIONS_DIR: /data/presentations GPU_URL: http://10.0.20.106:9000 GPU_UI_URL: http://10.0.20.106:9000 LLM_URL: http://10.0.20.106:8001/v1 LLM_MODEL: gpt-4o LLM_API_KEY: sk-local LAKEHOUSE_HOST: 10.0.21.50 AIRFLOW_URL: http://10.0.21.55:8080 TRINO_URL: http://10.0.21.50:8089 TRINO_USER: ${TRINO_USER:-mo} OPENMETADATA_URL: ${OPENMETADATA_URL:-http://10.0.21.47:8585} KAFKA_UI_URL: http://10.0.21.36:9000 HDFS_NN_URL: http://10.0.21.61:9870 S3_ENDPOINT: ${S3_ENDPOINT:-http://10.0.20.111:9020} S3_ACCESS_KEY: ${S3_ACCESS_KEY:-object_admin1} S3_SECRET_KEY: ${S3_SECRET_KEY} S3_REGION: ${S3_REGION:-us-east-1} ELASTICSEARCH_URL: ${ELASTICSEARCH_URL:-https://10.0.21.46:9200} KIBANA_URL: ${KIBANA_URL:-http://10.0.21.46:5601} ELASTIC_USER: ${ELASTIC_USER:-elastic} ELASTIC_PASSWORD: ${ELASTIC_PASSWORD:-} volumes: - api_data:/data - /root/.ssh:/root/.ssh:ro depends_on: redis: condition: service_started postgres: condition: service_healthy ui: build: ./ui restart: unless-stopped depends_on: - api docling-serve: image: quay.io/docling-project/docling-serve-cpu restart: unless-stopped ports: - "5001:5001" environment: DOCLING_SERVE_ENABLE_UI: "1" DOCLING_SERVE_MAX_SYNC_WAIT: "300" chromadb: image: chromadb/chroma:0.5.23 restart: unless-stopped volumes: - chroma_data:/chroma/chroma environment: ANONYMIZED_TELEMETRY: "false" rag-api: build: ../atc-data-quality/rag-api restart: unless-stopped environment: CHROMA_HOST: chromadb CHROMA_PORT: 8000 DOCLING_URL: http://docling-serve:5001 LLM_URL: http://10.0.20.106:8001/v1 LLM_MODEL: gpt-4o LLM_API_KEY: sk-local RAG_DATA_DIR: /data volumes: - rag_data:/data depends_on: - chromadb - docling-serve dq-api: build: ../atc-data-quality/dq-api restart: unless-stopped environment: DOCLING_URL: http://docling-serve:5001 DQ_DATA_DIR: /data RAG_URL: http://rag-api:5020 RAG_COLLECTION: default volumes: - dq_data:/data depends_on: - docling-serve - rag-api jupyter: image: quay.io/jupyter/scipy-notebook:latest restart: unless-stopped environment: JUPYTER_TOKEN: ${JUPYTER_TOKEN:-atc-jupyter} AWS_ACCESS_KEY_ID: ${S3_ACCESS_KEY:-object_admin1} AWS_SECRET_ACCESS_KEY: ${S3_SECRET_KEY} S3_ENDPOINT: ${S3_ENDPOINT:-http://10.0.20.111:9020} AWS_DEFAULT_REGION: ${S3_REGION:-us-east-1} ELASTICSEARCH_URL: ${ELASTICSEARCH_URL:-https://10.0.21.46:9200} KIBANA_URL: ${KIBANA_URL:-http://10.0.21.46:5601} command: > start-notebook.sh --NotebookApp.base_url=/jupyter/ --NotebookApp.token=${JUPYTER_TOKEN:-atc-jupyter} --NotebookApp.allow_origin=* volumes: - jupyter_data:/home/jovyan/work caddy: image: caddy:2-alpine restart: unless-stopped ports: - "80:80" volumes: - ./caddy/Caddyfile:/etc/caddy/Caddyfile:ro depends_on: - ui - api - dq-api - docling-serve - rag-api - chromadb - jupyter volumes: chroma_data: rag_data: dq_data: redis_data: postgres_data: api_data: jupyter_data: