fix
This commit is contained in:
@@ -20,6 +20,9 @@ Env.Load();
|
|||||||
|
|
||||||
var builder = Host.CreateApplicationBuilder(args);
|
var builder = Host.CreateApplicationBuilder(args);
|
||||||
|
|
||||||
|
// Добавляем поддержку переменных окружения в конфигурацию
|
||||||
|
builder.Configuration.AddEnvironmentVariables();
|
||||||
|
|
||||||
// Настройка Serilog
|
// Настройка Serilog
|
||||||
Log.Logger = new LoggerConfiguration().ReadFrom.Configuration(builder.Configuration).CreateLogger();
|
Log.Logger = new LoggerConfiguration().ReadFrom.Configuration(builder.Configuration).CreateLogger();
|
||||||
|
|
||||||
@@ -47,6 +50,32 @@ try
|
|||||||
.Services.Configure<DatabaseSettings>(builder.Configuration.GetSection("Database"))
|
.Services.Configure<DatabaseSettings>(builder.Configuration.GetSection("Database"))
|
||||||
.AddSingleton<IValidateOptions<DatabaseSettings>, DatabaseSettingsValidator>();
|
.AddSingleton<IValidateOptions<DatabaseSettings>, DatabaseSettingsValidator>();
|
||||||
|
|
||||||
|
// Переопределяем настройки переменными окружения
|
||||||
|
builder.Services.Configure<TelegramBotSettings>(settings =>
|
||||||
|
{
|
||||||
|
settings.BotToken =
|
||||||
|
Environment.GetEnvironmentVariable("TELEGRAM_BOT_TOKEN") ?? settings.BotToken;
|
||||||
|
});
|
||||||
|
|
||||||
|
builder.Services.Configure<OllamaSettings>(settings =>
|
||||||
|
{
|
||||||
|
settings.Url = Environment.GetEnvironmentVariable("OLLAMA_URL") ?? settings.Url;
|
||||||
|
settings.DefaultModel =
|
||||||
|
Environment.GetEnvironmentVariable("OLLAMA_DEFAULT_MODEL") ?? settings.DefaultModel;
|
||||||
|
});
|
||||||
|
|
||||||
|
builder.Services.Configure<DatabaseSettings>(settings =>
|
||||||
|
{
|
||||||
|
var host = Environment.GetEnvironmentVariable("DB_HOST") ?? "localhost";
|
||||||
|
var port = Environment.GetEnvironmentVariable("DB_PORT") ?? "5432";
|
||||||
|
var name = Environment.GetEnvironmentVariable("DB_NAME") ?? "chatbot";
|
||||||
|
var user = Environment.GetEnvironmentVariable("DB_USER") ?? "postgres";
|
||||||
|
var password = Environment.GetEnvironmentVariable("DB_PASSWORD") ?? "postgres";
|
||||||
|
|
||||||
|
settings.ConnectionString =
|
||||||
|
$"Host={host};Port={port};Database={name};Username={user};Password={password}";
|
||||||
|
});
|
||||||
|
|
||||||
// Валидируем конфигурацию при старте
|
// Валидируем конфигурацию при старте
|
||||||
builder.Services.AddOptions<TelegramBotSettings>().ValidateOnStart();
|
builder.Services.AddOptions<TelegramBotSettings>().ValidateOnStart();
|
||||||
builder.Services.AddOptions<OllamaSettings>().ValidateOnStart();
|
builder.Services.AddOptions<OllamaSettings>().ValidateOnStart();
|
||||||
|
|||||||
@@ -31,11 +31,11 @@
|
|||||||
"Enrich": ["FromLogContext", "WithMachineName", "WithThreadId"]
|
"Enrich": ["FromLogContext", "WithMachineName", "WithThreadId"]
|
||||||
},
|
},
|
||||||
"TelegramBot": {
|
"TelegramBot": {
|
||||||
"BotToken": "${TELEGRAM_BOT_TOKEN}"
|
"BotToken": ""
|
||||||
},
|
},
|
||||||
"Ollama": {
|
"Ollama": {
|
||||||
"Url": "${OLLAMA_URL}",
|
"Url": "",
|
||||||
"DefaultModel": "${OLLAMA_DEFAULT_MODEL}"
|
"DefaultModel": ""
|
||||||
},
|
},
|
||||||
"AI": {
|
"AI": {
|
||||||
"Temperature": 0.9,
|
"Temperature": 0.9,
|
||||||
@@ -54,7 +54,7 @@
|
|||||||
"StatusCheckTimeoutSeconds": 10
|
"StatusCheckTimeoutSeconds": 10
|
||||||
},
|
},
|
||||||
"Database": {
|
"Database": {
|
||||||
"ConnectionString": "Host=${DB_HOST};Port=${DB_PORT};Database=${DB_NAME};Username=${DB_USER};Password=${DB_PASSWORD}",
|
"ConnectionString": "",
|
||||||
"EnableSensitiveDataLogging": false,
|
"EnableSensitiveDataLogging": false,
|
||||||
"CommandTimeout": 30
|
"CommandTimeout": 30
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user