53 lines
1.8 KiB
Python
53 lines
1.8 KiB
Python
"""Application configuration using Pydantic Settings."""
|
|
|
|
from pydantic_settings import BaseSettings
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
"""Application settings loaded from environment variables."""
|
|
|
|
# Database
|
|
db_url: str = "postgresql://seguser:segpass123@localhost:5432/segserver"
|
|
|
|
# Redis
|
|
redis_url: str = "redis://localhost:6379/0"
|
|
|
|
# MinIO
|
|
minio_endpoint: str = "192.168.3.11:9000"
|
|
minio_public_endpoint: str | None = None
|
|
minio_access_key: str = "minioadmin"
|
|
minio_secret_key: str = "minioadmin"
|
|
minio_secure: bool = False
|
|
minio_public_secure: bool | None = None
|
|
|
|
# SAM
|
|
sam_default_model: str = "sam2.1_hiera_tiny"
|
|
sam_model_path: str = "/home/wkmgc/Desktop/Seg_Server/models/sam2.1_hiera_tiny.pt"
|
|
sam_model_config: str = "configs/sam2.1/sam2.1_hiera_t.yaml"
|
|
sam3_model_version: str = "sam3"
|
|
sam3_checkpoint_path: str = "/home/wkmgc/Desktop/Seg_Server/sam3权重/sam3.pt"
|
|
sam3_external_enabled: bool = False
|
|
sam3_external_python: str = "/home/wkmgc/miniconda3/envs/sam3/bin/python"
|
|
sam3_timeout_seconds: int = 300
|
|
sam3_status_cache_seconds: int = 30
|
|
sam3_confidence_threshold: float = 0.5
|
|
|
|
# App
|
|
app_env: str = "development"
|
|
cors_origins: list[str] = ["http://localhost:3000", "http://192.168.3.11:3000"]
|
|
jwt_secret_key: str = "seg-server-dev-secret-change-me"
|
|
jwt_algorithm: str = "HS256"
|
|
access_token_expire_minutes: int = 60 * 24
|
|
default_admin_username: str = "admin"
|
|
default_admin_password: str = "123456"
|
|
demo_video_path: str = "/home/wkmgc/Desktop/Seg_Server/demo/演视LC视频序列.mp4"
|
|
demo_dicom_dir: str = "/home/wkmgc/Desktop/Seg_Server/demo/演视DICOM序列"
|
|
|
|
class Config:
|
|
env_file = ".env"
|
|
env_file_encoding = "utf-8"
|
|
extra = "ignore"
|
|
|
|
|
|
settings = Settings()
|