Skip to main content

Bare archive

Running uxopian-ai and uxopian-gateway without Docker or Kubernetes, from their complete package ZIPs. Suitable for environments where a container runtime is not available.

Figure: Bare archive deployment steps for both services.

Prerequisites

  • Java 21
  • OpenSearch 3.3.2 reachable on the host network
  • LLM provider API key
  • Credentials for artifactory.arondor.cloud (or access to the Cloudsmith public channel for preview releases)

uxopian-ai

Package contents

Releases publish a self-contained ZIP named ai-standalone-<version>-complete-package.zip:

ai-standalone-2026.0.0-ft3/
ai-standalone-2026.0.0-ft3.jar ← Spring Boot fat JAR
application.yaml ← Spring config (imports ./config/* files)
config/
application.yml
llm-clients-config.yml ← LLM provider and model configuration
llm-clients-config.yml.example
prompts.yml
goals.yml
opensearch.yml
metrics.yml
hazelcast.yml
mcp-server.yml
plugins/
flowerdocs-2026.0.0-ft3.jar ← FlowerDocs integration
arender-2026.0.0-ft3.jar ← ARender integration
files-2026.0.0-ft3.jar ← File tools integration
llm-clients/
llm-clients-2026.0.0-ft3.jar

The plugins/ directory is scanned at runtime by IntegrationLoader. Only the JARs present at startup are activated. Remove plugin JARs for integrations you do not use.

Configure LLM provider

Edit config/llm-clients-config.yml. At minimum, set the default provider and model, and provide the API key reference:

llm:
default:
provider: openai
model: gpt-4.1
base-prompt: basePrompt
context: 10

openai:
api-key: sk-your-key
model-name: gpt-4.1
timeout: 120s

Configure YAML files

Edit the files in config/ directly — .env files are not supported in bare archive deployments.

config/opensearch.yml — OpenSearch connection:

opensearch:
host: localhost
port: 9200
scheme: http

config/application.yml — application URL and context path:

app:
base-url: https://your-domain.example.com

server:
servlet:
context-path: /gui/gateway/uxopian-ai
port: 8080

Start

From the extraction directory:

java -Xmx768m -Xms512m -jar ai-standalone-2026.0.0-ft3.jar

The service starts on port 8080 by default. Override with UXOPIAN_AI_PORT.


uxopian-gateway

Package contents

The gateway ZIP named standalone-<version>-complete-package.zip contains the JAR and its authentication provider plugins:

standalone.jar                       ← Spring Boot fat JAR
provider/
flowerdocs-provider.jar ← FlowerDocs JWT auth provider
fast2-provider.jar ← Fast2 JWT auth provider
development-provider.jar ← Dev mock provider (no real auth)

Providers are scanned from the provider/ directory at runtime by AuthProviderLoader. Remove provider JARs that are not needed.

Configure routes

The ZIP does not include an application.yaml. Create one alongside the JAR to configure routes, backend URL, and security rules:

app:
routes:
- id: uxopian-ai
uri: http://localhost:8080
prefix: /gui/gateway/uxopian-ai/
path: /gui/gateway/uxopian-ai/**
provider: FlowerDocsProvider
security:
- path: /.well-known/**
public: true
- path: /assets/**
public: true
- path: /actuator/health
public: true
- path: /prompt/**
roles: ["ADMIN"]
- path: /goal/**
roles: ["ADMIN"]
- path: /prompt-statistics
roles: ["ADMIN"]
- id: uxopian-ai-ws
uri: ws://localhost:8080
path: /gui/gateway/uxopian-ai/ws/**
prefix: /gui/gateway/uxopian-ai/ws/
security:
- path: /**
public: true
server:
port: 8085

For other authentication providers, replace FlowerDocsProvider with the appropriate provider name. See Authentication and gateway.

Start

java -Xmx256m -Xms256m \
-jar standalone.jar \
--spring.config.location=./application.yaml

Configuration reference (uxopian-ai)

SettingYAML propertyFile
OpenSearch hostnameopensearch.hostconfig/opensearch.yml
OpenSearch portopensearch.portconfig/opensearch.yml
Public URLapp.base-urlconfig/application.yml
Context pathserver.servlet.context-pathconfig/application.yml
HTTP portserver.portconfig/application.yml
Default LLM providerllm.default.providerconfig/llm-clients-config.yml
Default modelllm.default.modelconfig/llm-clients-config.yml
Default promptllm.default.base-promptconfig/llm-clients-config.yml
Conversation context sizellm.contextconfig/llm-clients-config.yml
OpenAI API keyopenai.api-keyconfig/llm-clients-config.yml
Anthropic API keyanthropic.api-keyconfig/llm-clients-config.yml
Google Gemini API keygemini.api-keyconfig/llm-clients-config.yml
Azure OpenAI API keyazure.openai.api-keyconfig/llm-clients-config.yml
Plugins directory pathPLUGINS_ROOT_PATH env varsystem environment

Verify

curl http://localhost:8085/gui/gateway/uxopian-ai/actuator/health

Expected:

{"status":"UP"}