Files
alfred/settings.toml
2026-01-05 04:23:57 +01:00

415 lines
9.5 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"
# TMDB Configuration
[tool.alfred.settings_schema.TMDB_BASE_URL]
type = "string"
source = "env"
default = "https://api.themoviedb.org/3"
description = "TMDB API base URL"
category = "external_services"
# qBittorrent Configuration
[tool.alfred.settings_schema.QBITTORRENT_URL]
type = "string"
source = "env"
default = "http://qbittorrent:16140"
description = "qBittorrent web UI URL"
category = "external_services"
[tool.alfred.settings_schema.QBITTORRENT_USERNAME]
type = "string"
source = "env"
default = "admin"
description = "qBittorrent username"
category = "external_services"
[tool.alfred.settings_schema.QBITTORRENT_PORT]
type = "integer"
source = "env"
default = 16140
description = "qBittorrent port"
category = "external_services"
# Meilisearch Configuration
[tool.alfred.settings_schema.MEILI_ENABLED]
type = "boolean"
source = "env"
default = false
description = "Enable Meilisearch"
category = "external_services"
[tool.alfred.settings_schema.MEILI_NO_ANALYTICS]
type = "boolean"
source = "env"
default = true
description = "Disable Meilisearch analytics"
category = "external_services"
[tool.alfred.settings_schema.MEILI_HOST]
type = "string"
source = "env"
default = "http://meilisearch:7700"
description = "Meilisearch host URL"
category = "external_services"
# LLM Configuration
[tool.alfred.settings_schema.DEFAULT_LLM_PROVIDER]
type = "string"
source = "env"
default = "local"
description = "Default LLM provider (local/openai/anthropic/deepseek/google/kimi)"
category = "llm"
[tool.alfred.settings_schema.OLLAMA_BASE_URL]
type = "string"
source = "env"
default = "http://ollama:11434"
description = "Ollama API base URL"
category = "llm"
[tool.alfred.settings_schema.OLLAMA_MODEL]
type = "string"
source = "env"
default = "llama3.3:latest"
description = "Ollama model name"
category = "llm"
# RAG Configuration
[tool.alfred.settings_schema.RAG_ENABLED]
type = "boolean"
source = "env"
default = true
description = "Enable RAG system"
category = "rag"
[tool.alfred.settings_schema.RAG_API_URL]
type = "string"
source = "env"
default = "http://rag_api:8000"
description = "RAG API URL"
category = "rag"
[tool.alfred.settings_schema.RAG_API_PORT]
type = "integer"
source = "env"
default = 8000
description = "RAG API port"
category = "rag"
[tool.alfred.settings_schema.EMBEDDINGS_PROVIDER]
type = "string"
source = "env"
default = "ollama"
description = "Embeddings provider"
category = "rag"
[tool.alfred.settings_schema.EMBEDDINGS_MODEL]
type = "string"
source = "env"
default = "nomic-embed-text"
description = "Embeddings model name"
category = "rag"