Files
WrenAI/docker/docker-compose-dev.yaml
T
Andy YenandShimin f4e4551498 Epic: integrate with ibis-server (#403)
* Chore: integrate with ibis server (#306)

* feat: Add ibis adaptor for querying supported data sources

* feat: Add testIbis resolver for querying supported data sources

* feat: use queryService for preview and describe statement

* feat: Refactor ibisAdaptor to use DataSourceName enum consistently

* test ibis using tpch query

* rm test ibis

* feat: Add previewSql resolver for SQL preview

* rm debug log

* use projectId and manifest to generate hash
Implement getMDL api

* pass mdl to ibis server to preview

* transform manifest data type to json object when retrieved from database

* better error message from Ibis server, rewrite host when development and using docker

* use base64 str to transfer mdl

* update README

* change env name to fit naming style.
update docker-compose.x.yaml and .env.example file

* fix yarn build issue

* update docker-compose file: fix incorrent ibis server endpoint

* port forward to ibis server

* fix incorrect migration rollback function

* update engine version

* Chore: refactor database schema to reflect how we use them. (#341)

* add connectionInfo column and do data migration

* drop deprecated columns that store connection info, use connectionInfo column instead

* do data migration to store tableReference in model's properties

* fix incorrect migration rollback function

* use tableReference in mdl instead of refSql

* chore: Update variable names in ibisAdaptor and queryService

* chore: Update variable names in ibisAdaptor and queryService

* fix lint

* rename variable in ibis adaptor

* - remove duplicate logic to parse string
- add comment

* release 0.4.0-rc.1 (#378)

* fix: fix nested resolver to format sql (#379)

* feat(wren-ui): Provide limit property in preview data API for excel-add-in used (#373)

* fix(wren-ui): add displayName to all view API which share ViewInfo type in graphQL

* feat(wren-ui): provide limit property of preview API for usage in excel-add-in

* Chore: minimized the diversity of data sources from wren-ui  (#384)

* chore: Update ibisAdaptor to include methods for getting tables and constraints

* remove strategies and connectors from codebase, use ibis server and wrenEngine to fetch metadata of data source

* add validation rule api in ibisAdapter

* replace invalid char when generating referenceName

* fix comments

* Feature: support dry run in preview API (#402)

* can dry-run  with previewSql

* update env.example and docker-compose-dev.yaml

---------

Co-authored-by: Shimin <andreashimin@gmail.com>
2024-06-12 21:19:05 +08:00

111 lines
2.6 KiB
YAML

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