Files
alfred/settings.toml

305 lines
7.0 KiB
TOML

[tool.alfred.settings_schema]
# Build variables (from pyproject.toml)
[tool.alfred.settings_schema.ALFRED_VERSION]
type = "string"
source = "toml"
toml_path = "tool.poetry.version"
description = "Alfred version"
category = "build"
export_to_env_make = true
[tool.alfred.settings_schema.PYTHON_VERSION]
type = "string"
source = "toml"
toml_path = "tool.poetry.dependencies.python"
transform = "extract_python_version_full"
description = "Python version (full)"
category = "build"
export_to_env_make = true
[tool.alfred.settings_schema.PYTHON_VERSION_SHORT]
type = "string"
source = "toml"
toml_path = "tool.poetry.dependencies.python"
transform = "extract_python_version_short"
description = "Python version (major.minor)"
category = "build"
export_to_env_make = true
[tool.alfred.settings_schema.RUNNER]
type = "string"
source = "env"
default = "poetry"
description = "Dependency manager (poetry/uv)"
category = "build"
export_to_env_make = true
[tool.alfred.settings_schema.IMAGE_NAME]
type = "string"
source = "env"
default = "alfred_media_organizer"
description = "Docker image name"
category = "build"
export_to_env_make = true
[tool.alfred.settings_schema.SERVICE_NAME]
type = "string"
source = "env"
default = "alfred"
description = "Docker service name"
category = "build"
export_to_env_make = true
[tool.alfred.settings_schema.LIBRECHAT_VERSION]
type = "string"
source = "env"
default = "v0.8.1"
description = "LibreChat version"
category = "build"
export_to_env_make = true
[tool.alfred.settings_schema.RAG_VERSION]
type = "string"
source = "env"
default = "v0.7.0"
description = "RAG API version"
category = "build"
export_to_env_make = true
# Security secrets (generated)
[tool.alfred.settings_schema.JWT_SECRET]
type = "secret"
source = "generated"
secret_rule = "32:b64"
description = "JWT signing secret"
category = "security"
required = true
[tool.alfred.settings_schema.JWT_REFRESH_SECRET]
type = "secret"
source = "generated"
secret_rule = "32:b64"
description = "JWT refresh token secret"
category = "security"
required = true
[tool.alfred.settings_schema.CREDS_KEY]
type = "secret"
source = "generated"
secret_rule = "32:hex"
description = "Credentials encryption key (AES-256)"
category = "security"
required = true
[tool.alfred.settings_schema.CREDS_IV]
type = "secret"
source = "generated"
secret_rule = "16:hex"
description = "Credentials encryption IV"
category = "security"
required = true
[tool.alfred.settings_schema.MEILI_MASTER_KEY]
type = "secret"
source = "generated"
secret_rule = "32:b64"
description = "Meilisearch master key"
category = "security"
required = true
[tool.alfred.settings_schema.MONGO_PASSWORD]
type = "secret"
source = "generated"
secret_rule = "16:hex"
description = "MongoDB password"
category = "security"
required = true
[tool.alfred.settings_schema.POSTGRES_PASSWORD]
type = "secret"
source = "generated"
secret_rule = "16:hex"
description = "PostgreSQL password"
category = "security"
required = true
[tool.alfred.settings_schema.QBITTORRENT_PASSWORD]
type = "secret"
source = "generated"
secret_rule = "16:hex"
description = "qBittorrent password"
category = "security"
required = true
# Database configuration
[tool.alfred.settings_schema.MONGO_HOST]
type = "string"
source = "env"
default = "mongodb"
description = "MongoDB host"
category = "database"
[tool.alfred.settings_schema.MONGO_PORT]
type = "integer"
source = "env"
default = 27017
description = "MongoDB port"
category = "database"
[tool.alfred.settings_schema.MONGO_USER]
type = "string"
source = "env"
default = "alfred"
description = "MongoDB user"
category = "database"
[tool.alfred.settings_schema.MONGO_DB_NAME]
type = "string"
source = "env"
default = "alfred"
description = "MongoDB database name"
category = "database"
[tool.alfred.settings_schema.MONGO_URI]
type = "computed"
source = "computed"
compute_from = ["MONGO_USER", "MONGO_PASSWORD", "MONGO_HOST", "MONGO_PORT", "MONGO_DB_NAME"]
compute_template = "mongodb://{MONGO_USER}:{MONGO_PASSWORD}@{MONGO_HOST}:{MONGO_PORT}/{MONGO_DB_NAME}?authSource=admin"
description = "MongoDB connection URI"
category = "database"
[tool.alfred.settings_schema.POSTGRES_HOST]
type = "string"
source = "env"
default = "vectordb"
description = "PostgreSQL host"
category = "database"
[tool.alfred.settings_schema.POSTGRES_PORT]
type = "integer"
source = "env"
default = 5432
description = "PostgreSQL port"
category = "database"
[tool.alfred.settings_schema.POSTGRES_USER]
type = "string"
source = "env"
default = "alfred"
description = "PostgreSQL user"
category = "database"
[tool.alfred.settings_schema.POSTGRES_DB_NAME]
type = "string"
source = "env"
default = "alfred"
description = "PostgreSQL database name"
category = "database"
[tool.alfred.settings_schema.POSTGRES_URI]
type = "computed"
source = "computed"
compute_from = ["POSTGRES_USER", "POSTGRES_PASSWORD", "POSTGRES_HOST", "POSTGRES_PORT", "POSTGRES_DB_NAME"]
compute_template = "postgresql://{POSTGRES_USER}:{POSTGRES_PASSWORD}@{POSTGRES_HOST}:{POSTGRES_PORT}/{POSTGRES_DB_NAME}"
description = "PostgreSQL connection URI"
category = "database"
# API Keys (optional, from .env)
[tool.alfred.settings_schema.TMDB_API_KEY]
type = "string"
source = "env"
required = false
description = "The Movie Database API key"
category = "api"
[tool.alfred.settings_schema.DEEPSEEK_API_KEY]
type = "string"
source = "env"
required = false
description = "DeepSeek API key"
category = "api"
[tool.alfred.settings_schema.OPENAI_API_KEY]
type = "string"
source = "env"
required = false
description = "OpenAI API key"
category = "api"
[tool.alfred.settings_schema.ANTHROPIC_API_KEY]
type = "string"
source = "env"
required = false
description = "Anthropic (Claude) API key"
category = "api"
[tool.alfred.settings_schema.GOOGLE_API_KEY]
type = "string"
source = "env"
required = false
description = "Google (Gemini) API key"
category = "api"
[tool.alfred.settings_schema.KIMI_API_KEY]
type = "string"
source = "env"
required = false
description = "Kimi API key"
category = "api"
# Application settings
[tool.alfred.settings_schema.HOST]
type = "string"
source = "env"
default = "0.0.0.0"
description = "Server host"
category = "app"
[tool.alfred.settings_schema.PORT]
type = "integer"
source = "env"
default = 3080
description = "Server port"
category = "app"
[tool.alfred.settings_schema.MAX_HISTORY_MESSAGES]
type = "integer"
source = "env"
default = 10
description = "Maximum conversation history messages"
category = "app"
validator = "range:1:100"
[tool.alfred.settings_schema.MAX_TOOL_ITERATIONS]
type = "integer"
source = "env"
default = 10
description = "Maximum tool iterations per request"
category = "app"
validator = "range:1:20"
[tool.alfred.settings_schema.REQUEST_TIMEOUT]
type = "integer"
source = "env"
default = 30
description = "Request timeout in seconds"
category = "app"
validator = "range:1:300"
[tool.alfred.settings_schema.LLM_TEMPERATURE]
type = "float"
source = "env"
default = 0.2
description = "LLM temperature"
category = "app"
validator = "range:0.0:2.0"
[tool.alfred.settings_schema.DATA_STORAGE_DIR]
type = "string"
source = "env"
default = "data"
description = "Data storage directory"
category = "app"