Skip to content

Install TestGen on Mac/Linux

The dk-installer program installs DataOps Data Quality TestGen in one of two modes:

  • Docker Compose (recommended) — the most stable TestGen experience for persistent use. Provides a fully managed environment with an isolated PostgreSQL container.
  • pip + embedded PostgreSQL — a lightweight Python installation suited for evaluation. Sets up an isolated Python environment and manages the PostgreSQL database on the file system.

When you start the install, the installer detects which prerequisites are met, and prompts you to pick the install mode.

Prerequisites

To run the installer

Python is required to run dk-installer. Most Linux and macOS systems have it pre-installed.

Software Supported versions Command to check version
Python 3 3.9+ python3 --version

For Docker mode

Software Supported versions Command to check version
Docker + Docker Compose Docker: 27+

Compose: 5.0+
docker -v

docker compose version

For pip mode

No additional prerequisites. The installer uses uv to manage a Python environment and runs an embedded PostgreSQL on the file system.

How to install TestGen

  1. Create and navigate to a new install directory, e.g., "/testgen".
  2. Download the latest version of dk-installer.

    curl -o dk-installer.py 'https://raw.githubusercontent.com/DataKitchen/data-observability-installer/main/dk-installer.py'
    
  3. Run the install command.

    python3 dk-installer.py tg install
    

    The installer prompts you to pick an install mode. To skip the prompt, use either --docker or --pip when running the install command.

    • Docker mode downloads the latest TestGen image and deploys a new Docker Compose application (5–10 minutes).
    • Pip mode downloads uv, sets up the required Python version, and installs TestGen into an isolated environment with an embedded PostgreSQL database (4–8 minutes).

    For advanced options, see the Installation options section.

  4. When the install completes, the installer seeds demo data, opens the TestGen UI in your default browser, and displays the login credentials in the terminal output. The credentials are also saved to dk-tg-credentials.txt in your install directory.

  5. Follow the TestGen portions of the Quick Start demo tutorial for a walk-through of the software.

Tip

To upgrade an instance of TestGen to the latest released version, see Upgrade TestGen. For other post-install tasks, see Administer TestGen.

How to start and stop TestGen

After the initial install, use the start command to bring TestGen back up.

python3 dk-installer.py tg start
  • Pip mode keeps the TestGen application running in the foreground. Press Ctrl+C in the terminal to stop it.
  • Docker mode starts the Docker Compose application. To stop, run docker compose down from the install directory.

How to set up and remove demo data

The installer seeds demo data automatically at the end of tg install. You can also run the demo setup separately, or remove the demo data after exploring the Quick Start demo tutorial.

# Seed demo data
python3 dk-installer.py tg run-demo

# Remove demo data
python3 dk-installer.py tg delete-demo

Installation options

  • --port: To specify a custom port for the TestGen UI. The default is 8501.
    python3 dk-installer.py tg install --port=<port>
    
  • --api-port: To specify a custom port for the TestGen API and MCP server. The default is 8530.
    python3 dk-installer.py tg install --api-port=<port>
    
  • --ssl-cert-file and --ssl-key-file: To enable SSL for HTTPS support by specifying local file paths to your SSL certificate and key files.
    python3 dk-installer.py tg install \
      --ssl-cert-file=<path to cert file> \
      --ssl-key-file=<path to key file>
    
  • --no-demo: To skip seeding demo data at the end of the install.
    python3 dk-installer.py tg install --no-demo
    
  • --no-analytics: To disable sending anonymous analytics data to DataKitchen. For more details, see Anonymous Analytics.
    python3 dk-installer.py --no-analytics tg install
    

The following options apply to Docker mode only.

  • --image: To install a specific version. The latest released version of TestGen is installed by default. For a list of recent releases, see TestGen Release Notes.
    python3 dk-installer.py tg install --docker --image=datakitchen/dataops-testgen:v<version>
    
  • --pull-timeout: To specify the maximum amount of time (in minutes) that Docker should be allowed to pull images. The installer uses a 5 minute timeout by default, and retries 3 times.
    python3 dk-installer.py tg install --docker --pull-timeout=<minutes>