Skip to main content
AskTable can run fully self-hosted: every component runs as a Docker container in your own environment, and data never leaves your network. This page covers the all-in-one Docker Compose deployment.

Prerequisites

Hardware (minimum): 4-core CPU, 16 GB RAM, 100 GB disk, x86. Software: a Linux server + Docker + Docker Compose v2.23.1+ (deployment uses the configs.content inline feature). Network: the host needs outbound HTTPS (443) to:
Fully offline: preload the images into your network and choose Custom in Configuring LLMs to use an in-network model — then no internet access is needed.

docker-compose.yaml

Create a directory and save the following as docker-compose.yaml. Each service’s role is in the inline comments; backing services talk to each other over the Compose internal network and only asktable exposes a host port. For servers outside mainland China, switch the images to the Docker Hub versions in the comments (datamini/...).
docker-compose.yaml
Before a production deployment, change the values marked [change me]: DATABASE_PASSWORD (keep it consistent with POSTGRES_PASSWORD).

Start and initialize

1

Start

From the directory containing docker-compose.yaml:
The first start initializes the databases automatically (including the separate Workbook database).
2

Open

Open http://<your-server>:8000/ in a browser.
3

Initialize

Follow the wizard to name the organization, create an admin account, and configure an LLM (model group). AskTable creates the single default organization and makes the first administrator its Owner.

Access URLs

Configure an LLM

AskTable is not tied to a specific model — you configure one before you can ask questions. The first-run wizard walks you through it. See Configuring LLMs.

Operations and connection capacity

The built-in PostgreSQL connection limit is 100, and the default pools fit typical single-node deployments. Read Operations and capacity planning only when adding Web or Worker processes or when DATABASE_BUSY occurs repeatedly.

Enable Workbook

Workbook is the built-in writable dataset, stored in a separate asktable_workbook database that is hard-isolated from the main one. The compose above already sets WORKBOOK_PG_DSN and inlines the create-database SQL:
  • Fresh deployment: the database is created automatically on first start — nothing to do.
  • Upgrading an existing deployment: the data volume is already initialized and the init script no longer runs, so create the database once manually:

Upgrading

Upgrading from an older version (remove Qdrant, switch to the pgvector image, handle the collation-version warning, rebuild embeddings) — see Migration.

Uninstalling

Removing the data volumes erases all data permanently. Back up first.

Next steps