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.2reachable 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)
| Setting | YAML property | File |
|---|---|---|
| OpenSearch hostname | opensearch.host | config/opensearch.yml |
| OpenSearch port | opensearch.port | config/opensearch.yml |
| Public URL | app.base-url | config/application.yml |
| Context path | server.servlet.context-path | config/application.yml |
| HTTP port | server.port | config/application.yml |
| Default LLM provider | llm.default.provider | config/llm-clients-config.yml |
| Default model | llm.default.model | config/llm-clients-config.yml |
| Default prompt | llm.default.base-prompt | config/llm-clients-config.yml |
| Conversation context size | llm.context | config/llm-clients-config.yml |
| OpenAI API key | openai.api-key | config/llm-clients-config.yml |
| Anthropic API key | anthropic.api-key | config/llm-clients-config.yml |
| Google Gemini API key | gemini.api-key | config/llm-clients-config.yml |
| Azure OpenAI API key | azure.openai.api-key | config/llm-clients-config.yml |
| Plugins directory path | PLUGINS_ROOT_PATH env var | system environment |
Verify
curl http://localhost:8085/gui/gateway/uxopian-ai/actuator/health
Expected:
{"status":"UP"}