version: "3" volumes: data: networks: wren: driver: bridge services: bootstrap: image: ghcr.io/canner/wren-bootstrap:${WREN_BOOTSTRAP_VERSION} pull_policy: always platform: ${PLATFORM} environment: DATA_PATH: /app/data PG_USERNAME: ${PG_USERNAME} PG_PASSWORD: ${PG_PASSWORD} volumes: - data:/app/data command: /bin/sh /app/init.sh wren-engine: image: ghcr.io/canner/wren-engine:${WREN_ENGINE_VERSION} pull_policy: always platform: ${PLATFORM} expose: - ${WREN_ENGINE_SQL_PORT} ports: - ${WREN_ENGINE_PORT}:${WREN_ENGINE_PORT} volumes: - data:/usr/src/app/etc networks: - wren depends_on: - bootstrap wren-ai-service: image: ghcr.io/canner/wren-ai-service:${WREN_AI_SERVICE_VERSION} pull_policy: always platform: ${PLATFORM} ports: - ${AI_SERVICE_FORWARD_PORT}:${WREN_AI_SERVICE_PORT} environment: WREN_AI_SERVICE_PORT: ${WREN_AI_SERVICE_PORT} OPENAI_API_KEY: ${OPENAI_API_KEY} OPENAI_GENERATION_MODEL: ${OPENAI_GENERATION_MODEL} QDRANT_HOST: qdrant WREN_UI_ENDPOINT: ${WREN_UI_ENDPOINT} REDIS_HOST: ${AI_SERVICE_REDIS_HOST} REDIS_PORT: ${AI_SERVICE_REDIS_PORT} ENABLE_TIMER: ${AI_SERVICE_ENABLE_TIMER} LOGGING_LEVEL: ${AI_SERVICE_LOGGING_LEVEL} WORKERS: ${AI_SERVICE_WORKERS} # sometimes the console won't show print messages, # using PYTHONUNBUFFERED: 1 can fix this PYTHONUNBUFFERED: 1 networks: - wren depends_on: - qdrant - wren-engine - redis ibis-server: image: ghcr.io/canner/wren-engine-ibis:${IBIS_SERVER_VERSION} pull_policy: always platform: ${PLATFORM} expose: - 8000 ports: - ${IBIS_SERVER_PORT}:8000 environment: WREN_ENGINE_ENDPOINT: http://wren-engine:${WREN_ENGINE_PORT} LOG_LEVEL: DEBUG networks: - wren qdrant: image: qdrant/qdrant:v1.7.4 pull_policy: always ports: - 6333:6333 - 6334:6334 networks: - wren redis: image: redis:7.0.15-alpine pull_policy: always ports: - 6379:6379 networks: - wren # If you want to use postgres for testing purpose, uncomment the following block # postgres: # image: postgres:14-alpine # platform: ${PLATFORM} # ports: # - 9432:5432 # volumes: # - data:/var/lib/postgresql/data # environment: # - POSTGRES_PASSWORD=secret # - POSTGRES_USER=test # - POSTGRES_DB=test # - PGDATA=/var/lib/postgresql/data/pgdata # networks: # - wren