fix(config): wire up LLM_PROXY__CONFIG_PATH env var and fix database path in service
The app never read the LLM_PROXY__CONFIG_PATH env var, so the systemd service couldn't find /etc/llm-proxy/config.toml and fell back to ./data/llm_proxy.db (owned by root, readonly for llmproxy user). - Add LLM_PROXY__CONFIG_PATH support to config loader (checks env var before falling back to ./config.toml) - Add LLM_PROXY__DATABASE__PATH to service env so the DB path always resolves to /var/lib/llm-proxy/llm_proxy.db regardless of config
This commit is contained in:
@@ -139,11 +139,14 @@ impl AppConfig {
|
||||
.set_default("providers.ollama.models", Vec::<String>::new())?;
|
||||
|
||||
// Load from config file if exists
|
||||
let config_path = config_path.unwrap_or_else(|| {
|
||||
std::env::current_dir()
|
||||
.unwrap_or_else(|_| PathBuf::from("."))
|
||||
.join("config.toml")
|
||||
});
|
||||
// Priority: explicit path arg > LLM_PROXY__CONFIG_PATH env var > ./config.toml
|
||||
let config_path = config_path
|
||||
.or_else(|| std::env::var("LLM_PROXY__CONFIG_PATH").ok().map(PathBuf::from))
|
||||
.unwrap_or_else(|| {
|
||||
std::env::current_dir()
|
||||
.unwrap_or_else(|_| PathBuf::from("."))
|
||||
.join("config.toml")
|
||||
});
|
||||
if config_path.exists() {
|
||||
config_builder = config_builder.add_source(File::from(config_path.clone()).format(FileFormat::Toml));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user