Skip to main content

Deploying the Single-Node Version

🚀 The AskTable single-node version now supports free download, installation, and use.

💪 This guide will help you quickly deploy AskTable in your local environment and use it with your internal data.

Continuing to download, install, and use AskTable implies that you have read and agree to the Software Download, Installation, and Usage Agreement.

Prerequisites

Hardware

Minimum configuration requirements: 2-core CPU, 4G memory, 10G hard disk. Supports x86 and ARM architectures. On some domestic systems such as Kylin V10 SP1, you need to add privileged: true in each container to obtain the highest permissions ⚠️.

Operating System

  1. Linux system The following software needs to be installed:

    1. Docker: Docker Installation Documentation.
    2. Docker Compose: Used to package and deploy AskTable and MySQL database. Docker Compose Installation Documentation.
  2. macOS system The following software needs to be installed:

    1. Docker Desktop: It is an application for macOS desktop computers, containing Docker and Docker Compose. Installation Documentation.

Quick Deployment

Save the following content as a docker-compose.yml file:

services:
asktable:
# AskTable
image: registry.cn-shanghai.aliyuncs.com/datamini/asktable-all-in-one:latest # For mainland China
container_name: asktable
depends_on:
- asktable_mysql
ports:
- "8000:80"
privileged: true
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 outside, 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 into AskTable(https://cloud.asktable.com), click on "Private Deployment AskTable" at the top to get 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
volumes:
- ./asktable_data:/asktable

asktable_mysql:
image: registry.cn-shanghai.aliyuncs.com/dminfra/mysql:8.0.27
container_name: asktable_mysql
privileged: true
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
container_name: asktable_vdb
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

Note that the BASE_URL and LLM_API_KEY configurations must be modified according to actual conditions.

Run AskTable

After the configuration is complete, you can start AskTable using Docker Compose:

  1. Build and start containers

Run the following command in the directory where the docker-compose.yml file is located:

docker compose up -d
# or docker-compose up -d

This command starts the AskTable application and MySQL database containers in the background.

  1. Access AskTable

Now that AskTable has started, you can access it in your browser:

http://127.0.0.1:8000

Here, you can log in using the default administrator (username: admin@asktable.com, password: admin) and start exploring the application.

Explore AskTable

After logging in, you can begin using AskTable for various tasks, such as:

  • Data management: Create, manage, and query data sources.
  • Interact with AskTable AI: Use language models to query and analyze your data.
  • Customize business knowledge: Configure terminology libraries, training datasets, and default preferences according to your business scenarios.

Advanced Configuration (Optional)

  1. Set Administrator Account: If you want to set up an administrator account, you can configure the following parameters:

    AUTH_EMAIL_INIT_ADMIN_EMAIL: admin@asktable.com
    AUTH_EMAIL_INIT_ADMIN_PASSWORD: admin
  2. Use Local LLM Model: If you want to use a local model, assuming you have deployed the model inference service, you can configure the following parameters:

    Warning

    Using models not provided by AskTable may not guarantee performance. It is recommended to apply at https://cloud.asktable.com.

    LLM_BASE_URL: http://10.10.0.3:11434/v1  # Local LLM service address
    LLM_API_KEY: your_api_key_here # API Key for the local LLM service (if no key authentication is required, this does not need to be configured)
    AT_FORCE_LLM_MODEL: Qwen3-80B-Instruct # The model name to be forced

    Note that we recommend the full-performance version of DeepSeek-V3-671B for local models. Other models must meet the following conditions:

    • At least 72B
    • At least 64K context
    • Support Function Call
    • Support JSON (Instruct) Output

    Additional performance requirements:

    • Each AI question involves approximately 2-4 concurrent calls to large LLM models.
    • Each AI question requires about 5000 Input Tokens and 500 Output Tokens.
    Local LLM Service Detection Script

    We have prepared a detection script for you to quickly verify whether the local LLM meets the requirements on the server. Execute the following command in the server terminal (remember to replace YOUR_BASE_URL and YOUR_API_KEY with your actual model service address and key):

    curl -O https://asktable-assets.oss-rg-china-mainland.aliyuncs.com/llm-env-test/asktable_llm_check.py && python3 asktable_llm_check.py --base-url YOUR_BASE_URL --api-key YOUR_API_KEY

    If the test passes, it can be seamlessly integrated with AskTable.

Update Version

If you need to update to the latest version, run the following commands in the directory where the docker-compose.yml file is located:

docker compose pull
docker compose down
docker compose up -d

Frequently Asked Questions

  1. Docker fails to run, showing a network error. How to solve it?

    Ensure that the firewall allows access to the following addresses (port 443):

    • registry.cn-shanghai.aliyuncs.com (download images)
    • dockerauth.cn-hangzhou.aliyuncs.com (download images)
    • aiproxy.asktable.com (access AI model service)
    • lf.asktable.com (access AI Tracing service)
  2. AskTable can be opened, but login prompts: Connection failed

    Please check the BASE_URL parameter in docker-compose.yaml and configure it to the address accessed via the browser.

  3. How to verify connectivity between the container and the database (connection status)?

    docker exec -ti asktable bash -c 'telnet DB_HOST DB_PORT'

    • DB_HOST (database host address)

    • DB_PORT (database port number)

    1. If the connection is successful, it will display Connected to localhost.
    2. If the connection is refused / network is not available / timeout, it will display telnet: Unable to connect to remote host: Connection refused/host/timed out
  4. How to uninstall?

    In the directory where the docker-compose.yml file is located, perform the following operations:

    1. Execute the command docker compose down
    2. Delete the directories asktable_data, mysql_data, qdrant_storage, and qdrant_snapshots (if they exist)

Notes

This deployment mode is suitable for quickly experiencing AskTable, but not for production environments. Performance, accuracy, and stability cannot be guaranteed. If higher requirements are needed, please contact us.

Thank you again for using our product. Good luck! 🚀