Skip to main content
Doku flexibly adapts to your preferred environment. Select a deployment method that best fits your setup:
Kubernetes

Kubernetes

Deploy Doku in a Kubernetes Cluster using Helm

Docker

Deploy Doku using docker compose

Linux

Deploy Doku in a Linux Host

Windows

Deploy Doku in a Windows Host

Kubernetes

Deploy Doku on your Kubernetes cluster using the Doku Helm chart for a reliable and scalable solution.
1

Helm Repo Setup

shell
helm repo add dokulabs https://dokulabs.github.io/helm/
helm repo update
2

Installing the Helm Chart

shell
helm install doku dokulabs/doku
As Doku does not have a built-in visualization UI yet, it is preferred that you set up the observabilityPlatform configuration within the values.yaml file. Doing so enables visualization of the LLM Observability data processed by Doku using an external observability platform.

Docker

Quickly spin up Doku using Docker for a fast and straightforward setup.
1

Install TimescaleDB

1

Pull TimescaleDB Image

docker pull timescale/timescaledb-ha:pg14-latest
2

Run TimescaleDB Image

docker run -d --name timescaledb -p 127.0.0.1:5432:5432 \
-e POSTGRES_PASSWORD=password timescale/timescaledb-ha:pg14-latest
2

Install Doku

1

Pull Doku Image

docker pull ghcr.io/dokulabs/doku-ingester:0.0.1 
2

Create a Doku Configuration file

Create a file named doku.yml in the current directory. This YAML configuration file will contain all the necessary details for Doku to connect to your TimescaleDB instance and other services. Here is an example configuration:
doku.yml
ingesterPort: 9044                           

pricingInfo:
  url: https://raw.githubusercontent.com/dokulabs/ingester/main/assets/pricing.json # URL to download Pricing data file

# Configuration for the Doku Backend Database (TimescaleDB)
dbConfig:
  name: DBNAME                                # Name of the database, Example: "postgres"
  username: USERNAME                          # Username to connect to the database, Example: "admin"
  password: PASSWORD                          # Password to connect to the database, Example: "DOKU"
  host: HOSTURL                               # Hostname of the database, Example: "174.21.1.2"
  port: DBPORT                                # Port of the database, Example: 5432
  sslMode: SSLMODE                            # SSL Mode of the database, Example: "require"
  maxOpenConns: MAXOPENCONNS                  # Maximum number of open connections to the database, Example: 15
  maxIdleConns: MAXOPENCONNS                  # Maximum number of idle connections to the database, Example: 15
  dataTable: DATATABLE                        # Name of the table to store LLM Data, Example: "DOKU"
  apiKeyTable: APIKEYTABLE                    # Name of the table to store API Keys, Example: "APIKEYS"

observabilityPlatform:
  enabled: false                                                             
Be sure to replace the placeholder values with your actual database details and desired settings.
As Doku does not have a built-in visualization UI yet, it is preferred that you set up the observabilityPlatform configuration within the Doku Configuration file (doku.yml) file.Doing so enables visualization of the LLM Observability data processed by Doku using an external observability platform.
3

Run the Doku Image

docker run -d --name doku -p 127.0.0.1:9044:9044 -v /doku.yml:/doku.yml dokulabs/ingester:0.0.1 --config /doku.yml

Linux

1

Install TimescaleDB

Follow the Instructions here to install TimescaleDB in your Linux host.
2

Create a Doku Configuration file

Create a file named doku.yml in the current directory. This YAML configuration file will contain all the necessary details for Doku to connect to your TimescaleDB instance and other services. Here is an example configuration:
doku.yml
ingesterPort: 9044                           

pricingInfo:
  url: https://raw.githubusercontent.com/dokulabs/doku/main/assets/pricing.json # URL to download Pricing data file

# Configuration for the Doku Backend Database (TimescaleDB)
dbConfig:
  name: DBNAME                                # Name of the database, Example: "postgres"
  username: USERNAME                          # Username to connect to the database, Example: "admin"
  password: PASSWORD                          # Password to connect to the database, Example: "DOKU"
  host: HOSTURL                               # Hostname of the database, Example: "174.21.1.2"
  port: DBPORT                                # Port of the database, Example: 5432
  sslMode: SSLMODE                            # SSL Mode of the database, Example: "require"
  maxOpenConns: MAXOPENCONNS                  # Maximum number of open connections to the database, Example: 15
  maxIdleConns: MAXOPENCONNS                  # Maximum number of idle connections to the database, Example: 15
  dataTable: DATATABLE                        # Name of the table to store LLM Data, Example: "DOKU"
  apiKeyTable: APIKEYTABLE                    # Name of the table to store API Keys, Example: "APIKEYS"

observabilityPlatform:
  enabled: false                                                                  
Be sure to replace the placeholder values with your actual database details and desired settings.
As Doku does not have a built-in visualization UI yet, it is preferred that you set up the observabilityPlatform configuration within the Doku Configuration file (doku.yml) file.Doing so enables visualization of the LLM Observability data processed by Doku using an external observability platform.
3

Install Doku in a linux Host

curl -O -L https://github.com/dokulabs/doku/releases/download/0.0.1/ingester-linux-amd64
chmod +x ingester-linux-amd64
./ingester-linux-amd64 --config doku.yml

Windows

1

Install TimescaleDB

1
Download and install the Visual C++ Redistributable for Visual Studio from www.microsoft.com.
2
Download and install PostgreSQL from www.postgresql.org. You might need to add the pg_config file location to your path. In the Windows Search tool, search for system environment variables. The path should be C:\Program Files\PostgreSQL\<version>\bin.
3
Download the TimescaleDB installation .zip file from Windows releases.
4
Locate the downloaded file on your local file system, and extract the files.
5
In the extracted TimescaleDB directory, right-click the setup.exe file and select Run as Administrator to start the installer.
2

Create a Doku Configuration file

Create a file named doku.yml in the current directory. This YAML configuration file will contain all the necessary details for Doku to connect to your TimescaleDB instance and other services. Here is an example configuration:
doku.yml
ingesterPort: 9044                           

pricingInfo:
  url: https://raw.githubusercontent.com/dokulabs/doku/main/assets/pricing.json # URL to download Pricing data file

# Configuration for the Doku Backend Database (TimescaleDB)
dbConfig:
  name: DBNAME                                # Name of the database, Example: "postgres"
  username: USERNAME                          # Username to connect to the database, Example: "admin"
  password: PASSWORD                          # Password to connect to the database, Example: "DOKU"
  host: HOSTURL                               # Hostname of the database, Example: "174.21.1.2"
  port: DBPORT                                # Port of the database, Example: 5432
  sslMode: SSLMODE                            # SSL Mode of the database, Example: "require"
  maxOpenConns: MAXOPENCONNS                  # Maximum number of open connections to the database, Example: 15
  maxIdleConns: MAXOPENCONNS                  # Maximum number of idle connections to the database, Example: 15
  dataTable: DATATABLE                        # Name of the table to store LLM Data, Example: "DOKU"
  apiKeyTable: APIKEYTABLE                    # Name of the table to store API Keys, Example: "APIKEYS"

observabilityPlatform:
  enabled: false                                                                  
Be sure to replace the placeholder values with your actual database details and desired settings.
As Doku does not have a built-in visualization UI yet, it is preferred that you set up the observabilityPlatform configuration within the Doku Configuration file (doku.yml) file.Doing so enables visualization of the LLM Observability data processed by Doku using an external observability platform.
3

Install Doku in a Windows Host

invoke-WebRequest -Uri "https://github.com/dokulabs/doku/releases/download/0.0.1/ingester-windows-amd64" -OutFile "ingester.exe"
.\ingester.exe --config doku.yml