Production deployment guide for AIUI — covering Docker, environment variables, configuration, and security.
| Variable | Default | Description |
|----------|---------|-------------|
| AIUI_DATA_DIR | ~/.praisonaiui | Data directory for config, sessions, logs |
AIUI_DATA_DIR
~/.praisonaiui
| AIUI_PORT | 8082 | Server port (Docker only) |
AIUI_PORT
8082
| AIUI_HOST | 0.0.0.0 | Server bind address (Docker only) |
AIUI_HOST
0.0.0.0
| AUTH_ENFORCE | false | Enforce Bearer token auth on /api/* routes |
AUTH_ENFORCE
false
/api/*
| OPENAI_API_KEY | — | OpenAI API key for LLM provider |
OPENAI_API_KEY
When AUTH_ENFORCE=true, all /api/* routes require a valid Bearer token in the Authorization header:
AUTH_ENFORCE=true
Authorization
Exempt paths (always accessible without auth):
/health
/health/live
/health/ready
/api/health
/api/auth/login
/login
/api/protocol
/api/protocol/negotiate
The config file is located at AIUI_DATA_DIR/config.yaml (default: ~/.praisonaiui/config.yaml).
AIUI_DATA_DIR/config.yaml
~/.praisonaiui/config.yaml
The site title is configurable via site.title in config.yaml:
site.title
This affects:
<title>
/ui-config.json
Use the fast liveness endpoint for probes to avoid timeouts:
The Dockerfile includes a built-in health check:
AIUI supports multiple authentication modes:
| Mode | Description |
|------|-------------|
| none | No authentication (default) |
none
| api_key | API key in X-API-Key header or api_key query param |
api_key
X-API-Key
| session | Session token in Authorization: Bearer <token> header |
session
Authorization: Bearer <token>
| password | Username/password login |
password
AUTH_ENFORCE=false
Hosting platforms should expose these endpoints:
| Endpoint | Purpose |
|----------|---------|
| /health/live | Fast liveness probe (returns {"status": "ok"}) |
{"status": "ok"}
| /health/ready | Readiness probe (parallel feature checks) |
| /health | Deep health (parallel feature checks; ?deep=false for liveness) |
?deep=false
| /api/protocol | Protocol version and capabilities |
| /api/protocol/negotiate | Capability negotiation |
| /api/features | List of registered features |
/api/features
For a minimal AIUI deployment:
1. Required: OPENAI_API_KEY environment variable
2. Recommended: Persistent volume for AIUI_DATA_DIR
3. Optional: AUTH_ENFORCE=true for multi-tenant environments