# Windows Desktop environment variables

This document describes all supported environment variables in Ontopic Suite Desktop application configurations.

# Quickstart

  1. Edit or create a .env file in %AppData%/OntopicSuite with your desired values for desktop deployment
  2. Launch the desktop application

# Core Configuration

# Port Configuration

Variable Default Description
LOCAL_PORT 8080 Port where the Ontopic Suite is bound on the host
VIRTUAL_PORT 8080 Port under which the Ontopic Suite is served internally
VIRTUAL_HOST localhost Hostname under which the Ontopic Suite is served

# Service-Specific Configuration

# Angular Frontend

Variable Default Description
ENDPOINT_ORIGIN http://127.0.0.1:8090 Custom endpoint origin for desktop app
ONTOPIC_SERVER_DISABLE_TLS true Disable TLS for Ontopic server connections (desktop default)

# Process Server

Variable Default Description
JDBC_ROOT_DIR - JDBC drivers directory (uses default desktop folder)
USER_LICENSE_DIR license User license directory
STORE_SERVICE_HOST 127.0.0.1 Store service host for localhost access
STORE_SERVICE_PORT 3000 Store service port
USER_LICENSE_FILE - User license file path (uses default desktop folder)
LICENSE_TYPE ontopic License type
PROCESS_SERVICE_HOST 127.0.0.1 Process service host
PROCESS_SERVICE_PORT 8666 Process service port
ONTOPIC_PROCESS_SERVER_DEBUG false Enable debug mode for process server

# Store Server

Variable Default Description
ENABLE_SEMANTIC_SQL true Enable BI connector functionality
ONTOPIC_SAMPLE_DB true Enable sample database
ONTOPIC_SAMPLE_DB_URL - Sample database URL
ONTOPIC_SAMPLE_DB_USERNAME - Sample database username
ONTOPIC_SAMPLE_DB_PASSWORD - Sample database password
ONTOPIC_SAMPLE_DB_DRIVER - Sample database driver
ONTOPIC_SAMPLE_DB_DATABASE - Sample database name
ENABLE_MATERIALIZATION true Enable materialization features

# Store Server Network Configuration

Variable Default Description
WEBSOCKET_DOC_PORT 3001 WebSocket document synchronization port
WEBSOCKET_DOC_HOST 127.0.0.1 WebSocket document synchronization host
STORE_SERVICE_HOST 127.0.0.1 Store service host binding
STORE_SERVICE_PORT 3000 Store service port
MAX_CACHED_DOCS 100 Maximum number of cached project documents
TTL_DURATION_IN_MS 3600000 Time-to-live duration in milliseconds (1 hour) of cached project documents

# Database Management Configuration

Variable Default Description
DB_RESET false Reset database on startup
DB_MIGRATE true Run database migrations
DB_SEED false Seed database with initial data

# Ontopic Server

Variable Default Description
ONTOPIC_SERVER_WEB_API_PORT 8090 Ontopic server web API port
ONTOPIC_SERVER_POSTGRES_PORT 4300 Ontopic server PostgreSQL port
ONTOPIC_SERVER_CORS_ALLOWED_ORIGINS - CORS allowed origins
ONTOPIC_SERVER_LOG_LEVEL INFO Log level
ONTOPIC_SERVER_ENABLE_POSTGRES_WIRE_PROTOCOL true Enable PostgreSQL wire protocol
ONTOPIC_SERVER_ENABLE_MATERIALIZATION true Enable materialization features
ONTOPIC_SERVER_LISTENING_ADDRESS 127.0.0.1 Server listening address
ONTOPIC_SERVER_DOMAIN 127.0.0.1 Ontopic server domain
ONTOPIC_SERVER_HOST 127.0.0.1 Ontopic server host for localhost access
ONTOPIC_SERVER_IDENTITY_SERVICE_URL - Identity service URL (empty for no auth)
ONTOPIC_SERVER_DISABLE_TLS true Disable TLS for server connections
MATERIALIZATION_CONFIGURATION_RELATIVE_DIR materialization-configuration Materialization configuration directory
MATERIALIZATION_RESULT_RELATIVE_DIR materialization-result Materialization result directory
ENDPOINT_DIR materialization-endpoint Endpoint directory
ENDPOINT_SECURITY_DIR endpoint-security Endpoint security directory
MATERIALIZATION_DB_DIR materialization-db Materialization database directory
MATERIALIZATION_CONFIGURATION_DIR materialization-configuration Materialization configuration directory
MATERIALIZATION_RESULT_DIR - Materialization result directory (default to Documents folder)
ONTOPIC_SERVER_MATERIALIZATION_CONFIGURATION_DIR materialization-configuration Materialization configuration directory
ONTOPIC_SERVER_MATERIALIZATION_RESULT_DIR - Materialization result directory (uses default)
ONTOPIC_SERVER_LICENSE_FILE - Ontopic server license file (uses default folder)
ONTOPIC_SERVER_JDBC_ROOT_DIR - JDBC root directory (uses default folder)

# Desktop Application Configuration

# Electron App Settings

Variable Default Description
START_WITH_DEVTOOLS false Start Electron app with developer tools open
START_MAXIMIZED true Start Electron app maximized

# Sample Database Configuration

Variable Default Description
H2_SAMPLE_DB true Enable H2 sample database
H2_PORT 9092 H2 database port

# Update Configuration

Variable Default Description
S3_UPDATE_BUCKET ontopic-desktop S3 bucket for application updates
S3_UPDATE_REGION eu-central-1 S3 region for application updates
S3_UPDATE_PATH update/x64 S3 path for application updates

# Java Configuration

Variable Default Description
JAVA_PATH - Custom Java path (if not set, uses internal Java)

# Volume Configuration

# Directory Settings

Variable Default Description
STORE_SERVER_DOCS_DIR docs Store server documentation directory (uses default desktop folder)
STORE_SERVER_REPOS_DIR repos Store server repositories directory (uses default desktop folder)
JDBC_ROOT_DIR - JDBC drivers directory (uses default desktop folder)
USER_LICENSE_DIR license User license directory (uses default desktop folder)
ENDPOINT_DIR materialization-endpoint Endpoint directory (uses default desktop folder)
ENDPOINT_SECURITY_DIR endpoint-security Endpoint security directory (uses default desktop folder)
MATERIALIZATION_DB_DIR materialization-db Materialization database directory (uses default desktop folder)
MATERIALIZATION_CONFIGURATION_DIR materialization-configuration Materialization configuration directory
MATERIALIZATION_RESULT_DIR materialization-result Materialization result directory (uses Documents folder)

# Example Configuration for Desktop

# Electron app settings
START_MAXIMIZED=true
START_WITH_DEVTOOLS=false
# Server configuration
ONTOPIC_SERVER_WEB_API_PORT=8090
# Store server configuration
STORE_SERVICE_PORT=3000
# Process server configuration
PROCESS_SERVICE_PORT=8666

# Notes for Desktop Deployment

  1. Authentication: Authentication is disabled by default for desktop deployment
  2. Git Repository: Git features are disabled by default for desktop deployment
  3. Localhost Access: All services are configured to use 127.0.0.1 for localhost access
  4. TLS: TLS is disabled by default for simpler local development
  5. Default Folders: License and JDBC files use default application folders when paths are empty