feat(tandoor): Support configuring LLMs

This commit is contained in:
Elias Sjögreen
2025-08-08 16:42:19 +02:00
committed by GitHub
parent f98b440a7a
commit c56fb4616b
4 changed files with 15 additions and 1 deletions

View File

@@ -14,6 +14,9 @@ Optional :
"POSTGRES_USER": "str?", # Needed for postgresql_external
"POSTGRES_PASSWORD": "str?", # Needed for postgresql_external
"POSTGRES_DB": "str?" # Needed for postgresql_external
"AI_MODEL_NAME": "str?", # Used when configuring llm integration
"AI_API_KEY": "str?", # Used when configuring llm integration
"AI_RATELIMIT": "int?", # Used when configuring llm integration
"externalfiles_folder": "str?" # a folder that you want to map in to tandoor. Not needed as /share/ and /media/ are mapped. This folder will be created if it doesn't already exist.
```
This add-on now uses Tandoor's integrated Nginx server and exposes port 80 (mapped to 9928 by default).
@@ -23,7 +26,7 @@ Mariadb is a popular addon in the home assistant community, however it is not su
### Debug mode
This is the "Environment" setting.
0 is normal mode
0 is normal mode
1 is debug mode.
### Authentication

View File

@@ -46,6 +46,9 @@ Complete documentation: https://docs.tandoor.dev/install/docker/
| `POSTGRES_USER` | str | | PostgreSQL username (required for postgresql_external) |
| `POSTGRES_PASSWORD` | str | | PostgreSQL password (required for postgresql_external) |
| `POSTGRES_DB` | str | | PostgreSQL database name (required for postgresql_external) |
| `AI_MODEL_NAME` | str | | Used for configuring LLMs, supported providers can be found [here](https://docs.litellm.ai/docs/providers/) |
| `AI_API_KEY` | str | | API key for accessing LLMs |
| `AI_RATELIMIT` | int | | Ratelimit for LLM access |
### Example Configuration
@@ -61,6 +64,8 @@ externalfiles_folder: "/config/addons_config/tandoor_recipes/externalfiles"
# POSTGRES_USER: "tandoor"
# POSTGRES_PASSWORD: "secure_password"
# POSTGRES_DB: "tandoor_recipes"
# AI_MODEL_NAME: "anthropic/claude-4"
# AI_API_KEY: "SECRET KEY"
```
## Installation

View File

@@ -107,6 +107,9 @@
"POSTGRES_PORT": "str?",
"POSTGRES_USER": "str?",
"SECRET_KEY": "str",
"AI_MODEL_NAME": "str?",
"AI_API_KEY": "str?",
"AI_RATELIMIT": "int?",
"externalfiles_folder": "str?"
},
"services": [

View File

@@ -10,6 +10,9 @@ set -e
export ALLOWED_HOSTS=$(bashio::config 'ALLOWED_HOSTS') && bashio::log.blue "ALLOWED_HOSTS=$ALLOWED_HOSTS"
export SECRET_KEY=$(bashio::config 'SECRET_KEY') && bashio::log.blue "SECRET_KEY=$SECRET_KEY"
export DEBUG=$(bashio::config 'DEBUG') && bashio::log.blue "DEBUG=$DEBUG"
export AI_MODEL_NAME=$(bashio::config 'AI_MODEL_NAME') && bashio::log.blue "AI_MODEL_NAME=$AI_MODEL_NAME"
export AI_API_KEY=$(bashio::config 'AI_API_KEY') && bashio::log.blue "AI_API_KEY=$AI_API_KEY"
export AI_RATELIMIT=$(bashio::config 'AI_RATELIMIT') && bashio::log.blue "AI_RATELIMIT=$AI_RATELIMIT"
CSRF_TRUSTED_ORIGINS="http://localhost"
for element in ${ALLOWED_HOSTS//,/ }; do # Separate comma separated values