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 create an admin account and configure an LLM (model group), then start using AskTable.

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.

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