Configuration

DataMate system configuration parameters

This document details various configuration parameters of the DataMate system.

Environment Variables

Common Configuration

VariableDefaultDescription
DB_PASSWORDpasswordDatabase password
DATAMATE_JWT_ENABLEfalseEnable JWT authentication
REGISTRYghcr.io/modelengine-group/Image registry
VERSIONlatestImage version tag

Database Configuration

VariableDefaultDescription
DB_HOSTdatamate-databaseDatabase host
DB_PORT5432Database port
DB_NAMEdatamateDatabase name
DB_USERpostgresDatabase username
DB_PASSWORDpasswordDatabase password

Redis Configuration

VariableDefaultDescription
REDIS_HOSTdatamate-redisRedis host
REDIS_PORT6379Redis port
REDIS_PASSWORD-Redis password (optional)
REDIS_DB0Redis database number

Milvus Configuration

VariableDefaultDescription
MILVUS_HOSTmilvusMilvus host
MILVUS_PORT19530Milvus port
MILVUS_INDEX_TYPEIVF_FLATVector index type
MILVUS_EMBEDDING_DIM768Vector dimension

MinIO Configuration

VariableDefaultDescription
MINIO_ENDPOINTminio:9000MinIO endpoint
MINIO_ACCESS_KEYminioadminAccess key
MINIO_SECRET_KEYminioadminSecret key
MINIO_BUCKETdatamateBucket name

LLM Configuration

VariableDefaultDescription
OPENAI_API_KEY-OpenAI API key
OPENAI_BASE_URLhttps://api.openai.com/v1API base URL
OPENAI_MODELgpt-4Model to use

JWT Configuration

VariableDefaultDescription
JWT_SECRETdefault-insecure-keyJWT secret (CHANGE IN PRODUCTION)
JWT_EXPIRATION86400Token expiration (seconds)

Logging Configuration

VariableDefaultDescription
LOG_LEVELINFOLog level
LOG_PATH/var/log/datamateLog path

application.yml Configuration

Main Config

datamate:
  jwt:
    enable: ${DATAMATE_JWT_ENABLE:false}
    secret: ${JWT_SECRET:default-insecure-key}
    expiration: ${JWT_EXPIRATION:86400}

  storage:
    type: minio
    endpoint: ${MINIO_ENDPOINT:minio:9000}
    access-key: ${MINIO_ACCESS_KEY:minioadmin}
    secret-key: ${MINIO_SECRET_KEY:minioadmin}

Spring Boot Config

spring:
  datasource:
    url: jdbc:postgresql://${DB_HOST:datamate-database}:${DB_PORT:5432}/${DB_NAME:datamate}
    username: ${DB_USER:postgres}
    password: ${DB_PASSWORD:password}

  jpa:
    hibernate:
      ddl-auto: validate
    show-sql: false

server:
  port: 8092

Docker Compose Configuration

Environment Variables

services:
  datamate-backend:
    environment:
      - DB_PASSWORD=${DB_PASSWORD:-password}
      - LOG_LEVEL=${LOG_LEVEL:-INFO}

Resource Limits

services:
  datamate-backend:
    deploy:
      resources:
        limits:
          cpus: '2'
          memory: 4G

Kubernetes Configuration

ConfigMap

apiVersion: v1
kind: ConfigMap
metadata:
  name: datamate-config
data:
  LOG_LEVEL: "INFO"

Secret

apiVersion: v1
kind: Secret
metadata:
  name: datamate-secret
type: Opaque
data:
  DB_PASSWORD: cGFzc3dvcmQ=  # base64 encoded

Performance Tuning

Database Connection Pool

spring:
  datasource:
    hikari:
      maximum-pool-size: 20
      minimum-idle: 5
      connection-timeout: 30000

JVM Parameters

JAVA_OPTS="-Xms2g -Xmx4g -XX:+UseG1GC"

Last modified February 9, 2026: :memo: add english docs (3868c82)