From e4407392bb1cc28ea9aae513d616c90398fdd0f9 Mon Sep 17 00:00:00 2001 From: jingrow Date: Sat, 22 Nov 2025 19:02:04 +0800 Subject: [PATCH] migrate to Pydantic v2 and optimize Caddyfile --- Caddyfile | 4 ---- apps/jingrow/jingrow/config.py | 18 ++++++++++-------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/Caddyfile b/Caddyfile index 5f1b0c5..49d97df 100644 --- a/Caddyfile +++ b/Caddyfile @@ -57,8 +57,6 @@ handle /api/* { reverse_proxy localhost:{$BACKEND_PORT:9001} { header_up X-Real-IP {remote_host} - header_up X-Forwarded-For {remote_host} - header_up X-Forwarded-Proto {scheme} } } @@ -66,8 +64,6 @@ handle /jingrow* { reverse_proxy localhost:{$BACKEND_PORT:9001} { header_up X-Real-IP {remote_host} - header_up X-Forwarded-For {remote_host} - header_up X-Forwarded-Proto {scheme} } } diff --git a/apps/jingrow/jingrow/config.py b/apps/jingrow/jingrow/config.py index 37086d8..a7f83fd 100644 --- a/apps/jingrow/jingrow/config.py +++ b/apps/jingrow/jingrow/config.py @@ -1,4 +1,5 @@ from pydantic_settings import BaseSettings +from pydantic import ConfigDict from functools import lru_cache from jingrow.utils.path import get_root_path @@ -16,17 +17,17 @@ class Settings(BaseSettings): jingrow_cloud_api_url: str = 'https://api.jingrow.com' jingrow_cloud_api_key: str = '' jingrow_cloud_api_secret: str = '' - + # 本地后端主机配置 backend_host: str = '0.0.0.0' backend_port: int = 9001 backend_reload: bool = True - + # Dramatiq 任务队列 worker_processes: int = 1 worker_threads: int = 1 watch: bool = True - + # Qdrant 向量数据库配置 qdrant_host: str = '' qdrant_port: int = 6333 @@ -47,11 +48,12 @@ class Settings(BaseSettings): # 日志级别:DEBUG/INFO/WARNING/ERROR/CRITICAL(全局默认级别) log_level: str = 'INFO' - - class Config: - env_file = str(get_root_path() / '.env') - env_file_encoding = 'utf-8' - case_sensitive = False + model_config = ConfigDict( + env_file=str(get_root_path() / '.env'), + env_file_encoding='utf-8', + case_sensitive=False, + extra='ignore' + ) @lru_cache()