Skip to main content

private-deployment-enterprise-observer

1. Deployment and Startup

Hardware Configuration Requirements

Configuration ItemRecommended Configuration
CPU64 Cores
Memory512G
Disk2T SSD
ArchitectureRecommended x86

This configuration can support:

  • 3000 tables
  • 100 concurrent users
tip

If you have higher configuration requirements, please contact us for professional consultation.

Deployment Steps

  1. Follow the deployment steps of the Single Machine Edition, but modify the docker-compose.yml file inside to the following content:
services:
asktable:
# AskTable
image: registry.cn-shanghai.aliyuncs.com/datamini/asktable-all-in-one:latest # China Mainland
depends_on:
- asktable_mysql
ports:
- "8000:80"
environment:
TZ: Asia/Shanghai
BASE_URL: http://127.0.0.1:8000 # 【Mandatory to Modify】The address exposed by the container (i.e., the address accessed from external, such as a browser)
LLM_API_KEY: asktable-xxxxxx=xxxxxxxx # 【Mandatory to Modify】AI model token, which is a string starting with "asktable-". After logging in to AskTable(https://cloud.asktable.com), click on "Private Deployment AskTable" at the top to obtain it.
MYSQL_HOST: asktable_mysql # MySQL database address (this MySQL is the AskTable database, not the database queried by AskTable, the latter needs to be added on the AskTable interface)
MYSQL_USER: asktable # MySQL database username
MYSQL_PASSWORD: asktable # 【Recommended to Modify】MySQL database password
MYSQL_DB: asktable # MySQL database name
MYSQL_ROOT_PASSWORD: asktable # 【Recommended to Modify】MySQL database root password (used for initializing sample data)
VDB_ADDRESS: http://asktable_vdb:6333 # Vector database address
VDB_API_KEY: asktable # 【Recommended to Modify】Vector database API key
AISEARCH_ENABLE: 1
AISEARCH_HOST: http://aisearch:7700
AISEARCH_MASTER_KEY: asktable # 【Recommended to Modify】
OBSERVER_HOST: http://obs_web:3000
OBSERVER_SECRET_KEY: lf_sk_1234567890 # 【Recommended to Modify】
OBSERVER_PUBLIC_KEY: lf_pk_1234567890 # 【Recommended to Modify】
OBSERVER_PROJECT_ID: asktable-local
volumes:
- ./asktable_data:/asktable

asktable_mysql:
image: registry.cn-shanghai.aliyuncs.com/dminfra/mysql:8.0.27
ports:
- "3306"
environment:
TZ: Asia/Shanghai
MYSQL_ROOT_PASSWORD: asktable # 【Recommended to Modify】
MYSQL_DATABASE: asktable
MYSQL_USER: asktable
MYSQL_PASSWORD: asktable # 【Recommended to Modify】
volumes:
- ./mysql_data:/var/lib/mysql

asktable_vdb:
image: registry.cn-shanghai.aliyuncs.com/dminfra/qdrant:v1.11.5
ports:
- "6333"
- "6334"
environment:
RUN_MODE: production
TZ: Asia/Shanghai
QDRANT__SERVICE__API_KEY: asktable # 【Recommended to Modify】
volumes:
- ./qdrant_storage:/qdrant/storage
- ./qdrant_snapshots:/qdrant/snapshots

aisearch:
image: registry.cn-shanghai.aliyuncs.com/dminfra/aisearch:v1.12.8
privileged: true
restart: always
ports:
- "7700"
environment:
TZ: Asia/Shanghai
MEILI_MASTER_KEY: asktable # 【Recommended to Modify】
volumes:
- ./aisearch_data:/meili_data

# The following are the AskTable observation service (OBS)
asktable_redis:
image: registry.cn-shanghai.aliyuncs.com/dminfra/redis:7.4.4
ports:
- "6379"
volumes:
- ./redis_data:/data
command: redis-server --appendonly yes --requirepass asktable

asktable_postgresql:
image: registry.cn-shanghai.aliyuncs.com/dminfra/postgres:17.6
restart: always
ports:
- "5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U asktable -d asktable_obs"]
interval: 3s
timeout: 3s
retries: 10
environment:
POSTGRES_USER: asktable
POSTGRES_PASSWORD: asktable # 【Recommended to Modify】
POSTGRES_DB: asktable_obs
volumes:
- ./postgresql_data:/var/lib/postgresql/data

asktableminio:
image: registry.cn-shanghai.aliyuncs.com/dminfra/minio:RELEASE.2025-07-23T15-54-02Z
ports:
- "9090:9000" # S3 API port
- "9001" # MinIO console port
volumes:
- ./minio_data:/data
environment:
TZ: Asia/Shanghai
MINIO_ROOT_USER: asktable
MINIO_ROOT_PASSWORD: asktable # 【Recommended to Modify】
entrypoint: sh
# create new bucket before starting the service
command: -c 'mkdir -p /data/langfuse && minio server --address ":9000" --console-address ":9001" /data'
restart: always
healthcheck:
test: ["CMD", "mc", "ready", "local"]
interval: 1s
timeout: 5s
retries: 5
start_period: 1s

obs_clickhouse:
image: registry.cn-shanghai.aliyuncs.com/dminfra/clickhouse-server:25.5.4.38
restart: always
environment:
CLICKHOUSE_DB: default
CLICKHOUSE_USER: asktable
CLICKHOUSE_PASSWORD: asktable # 【Recommended to Modify】
volumes:
- ./obs_clickhouse_data:/var/lib/clickhouse
- ./obs_clickhouse_logs:/var/log/clickhouse-server
ports:
- "8123"
- "9000"
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:8123/ping || exit 1
interval: 5s
timeout: 5s
retries: 10
start_period: 1s

obs_worker:
image: registry.cn-shanghai.aliyuncs.com/dminfra/observer-worker:3.78.1
restart: always
depends_on:
obs_clickhouse:
condition: service_healthy
ports:
- "3030"
environment: &obs-worker-env
TZ: Asia/Shanghai
DATABASE_URL: postgresql://asktable:asktable@asktable_postgresql:5432/asktable_obs # 【Recommended to Modify】
SALT: "asktable" # 【Recommended to Modify】
ENCRYPTION_KEY: "77769faf27e62bb20e3c3e397eec29a93c23a8648281dc4dbe65dab0340040fb" # 【Recommended to Modify】 generate via `openssl rand -hex 32`
TELEMETRY_ENABLED: ${TELEMETRY_ENABLED:-true}
LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES: ${LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES:-true}
CLICKHOUSE_MIGRATION_URL: clickhouse://obs_clickhouse:9000
CLICKHOUSE_URL: http://obs_clickhouse:8123
CLICKHOUSE_USER: asktable
CLICKHOUSE_PASSWORD: asktable # 【Recommended to Modify】
CLICKHOUSE_CLUSTER_ENABLED: false

# OSS for S3-compatible storage (Aliyun OSS)
LANGFUSE_USE_AZURE_BLOB: false
LANGFUSE_S3_EVENT_UPLOAD_BUCKET: langfuse
LANGFUSE_S3_EVENT_UPLOAD_REGION: auto
LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_ID: asktable
LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY: asktable # 【Recommended to Modify】
LANGFUSE_S3_EVENT_UPLOAD_ENDPOINT: http://asktableminio:9000
LANGFUSE_S3_EVENT_UPLOAD_FORCE_PATH_STYLE: true
LANGFUSE_S3_EVENT_UPLOAD_PREFIX: langfuse-events/

LANGFUSE_S3_BATCH_EXPORT_ENABLED: false
LANGFUSE_INGESTION_QUEUE_DELAY_MS: ${LANGFUSE_INGESTION_QUEUE_DELAY_MS:-}
LANGFUSE_INGESTION_CLICKHOUSE_WRITE_INTERVAL_MS: ${LANGFUSE_INGESTION_CLICKHOUSE_WRITE_INTERVAL_MS:-}

REDIS_HOST: asktable_redis
REDIS_PORT: 6379
REDIS_AUTH: asktable # 【Recommended to Modify】
REDIS_TLS_ENABLED: false

obs_web:
image: registry.cn-shanghai.aliyuncs.com/dminfra/observer:3.78.1
restart: always
depends_on:
obs_clickhouse:
condition: service_healthy
ports:
- "3000:3000"
environment:
TZ: Asia/Shanghai
<<: *obs-worker-env
NEXTAUTH_URL: http://127.0.0.1:3000
NEXTAUTH_SECRET: OY7/pJ266mFbPI9RM6zbmdOo0HD7+OT0fVyhoujVp9Y= # 【Recommended to Modify】 generate via `openssl rand -base64 32`
LANGFUSE_INIT_ORG_ID: asktable
LANGFUSE_INIT_ORG_NAME: asktable
LANGFUSE_INIT_PROJECT_ID: asktable-local
LANGFUSE_INIT_PROJECT_NAME: asktable-local
LANGFUSE_INIT_PROJECT_PUBLIC_KEY: lf_pk_1234567890 # 【Recommended to Modify】
LANGFUSE_INIT_PROJECT_SECRET_KEY: lf_sk_1234567890 # 【Recommended to Modify】
LANGFUSE_INIT_USER_EMAIL: admin@asktable.com
LANGFUSE_INIT_USER_NAME: asktable
LANGFUSE_INIT_USER_PASSWORD: asktable # 【Recommended to Modify】

NamePortAuthentication
asktable8000Account: admin@asktable.com
Password: admin
observer3000Account: admin@asktable.com
Password: asktable
  1. For other steps, please refer to Single Machine Edition Deployment.

2. Contact AskTable to Obtain Software License Code

After deployment, contact AskTable staff to obtain the software license code, or directly log in to the "AskTable Official Website" and click on "Private Deployment AskTable" at the top to purchase.

3. Software Activation

  1. Log in to the private deployment version of AskTable, click on the "key" icon at the top right corner, and enter the "Software Activation" page.
Contact AskTable to Obtain Software License Code
  1. Enter the software license code and click the "Activate" button.
Enter Software License Code