SeekQL Documentation

Complete guide to setting up and running SeekQL with Docker and PostgreSQL

Table of Contents

1. Overview

This guide describes how to set up and run SeekQL locally using Docker and a PostgreSQL database. It's designed for both development and production environments to ensure consistent deployment across different platforms.

2. Prerequisites

Install Docker

Ensure Docker is properly installed and accessible. Verify installation by running:

docker --version
Official Docker Installation Guide

Create a .env File

Create a .env file with the following environment variables:

LICENSE_KEY=your_license_key_here

This variable configures the license key needed for SeekQL.

3. Step 1 – Run with Docker

From the directory containing your .env file, execute the Docker run command for your operating system:

Linux:

docker run -dit \
  --name seekql-container \
  --env-file .env \
  -v ./seekql_pgdata:/var/lib/postgresql/data \
  -p 3000:3000 \
  -p 8000:8000 \
  seekql/chatbot:v2.0.0

macOS:

docker run -dit \
  --name seekql-container \
  --env-file .env \
  -v ./seekql_pgdata:/var/lib/postgresql/data \
  -p 3000:3000 \
  -p 8000:8000 \
  seekql/chatbot:v2.0.0

Windows:

docker run -dit `
  --name seekql-container `
  --env-file .env `
  -v ./seekql_pgdata:/var/lib/postgresql/data `
  -p 3000:3000 `
  -p 8000:8000 `
  seekql/chatbot:v2.0.0

Command Flags Explained:

  • -dRuns container in detached (background) mode
  • --nameAssigns a name to the container
  • --env-fileLoads environment variables from .env file
  • -vMounts a host directory for PostgreSQL data persistence
  • -pMaps container ports to host ports (3000 and 8000)

4. Step 2 – Verify Container

Check if the container is running:

docker ps

View application logs:

docker logs -f seekql-container

Stop the container:

docker stop seekql-container

These commands help you monitor and control the container's lifecycle effectively.

5. Access Application

After the container is running successfully, open your web browser and navigate to:

Note:

If port 3000 isn't exposed by default, you must specify the port mapping -p 3000:3000 when running the container (as shown in Step 1).

By Default a admin user is created with the following credentials:
Username : admin, Password : admin@seekql