import os from dotenv import load_dotenv load_dotenv() class Settings: PROJECT_NAME: str = "Data Nexus" VERSION: str = "0.1.0" # Database DB_USER: str = os.getenv("DB_USER", "root") DB_PASSWORD: str = os.getenv("DB_PASSWORD", "") DB_HOST: str = os.getenv("DB_HOST", "localhost") DB_PORT: str = os.getenv("DB_PORT", "3306") DB_NAME: str = os.getenv("DB_NAME", "data_nexus") DATABASE_URL: str = f"mysql+pymysql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB_NAME}" # Gogs GOGS_URL: str = os.getenv("GOGS_URL", "http://localhost:3000") GOGS_TOKEN: str = os.getenv("GOGS_TOKEN", "") GOGS_SECRET: str = os.getenv("GOGS_SECRET", "") # Webhook secret GOGS_WEBHOOK_URL: str = os.getenv("GOGS_WEBHOOK_URL", "") # Webhook callback URL for auto-config GOGS_WEBHOOK_SECRET: str = os.getenv("GOGS_WEBHOOK_SECRET", "") # Webhook signature secret # Storage STORAGE_ROOT: str = os.getenv("STORAGE_ROOT", "/data/storage") # OSS OSS_ACCESS_KEY_ID: str = os.getenv("OSS_ACCESS_KEY_ID", "") OSS_ACCESS_KEY_SECRET: str = os.getenv("OSS_ACCESS_KEY_SECRET", "") OSS_ENDPOINT: str = os.getenv("OSS_ENDPOINT", "") # e.g., oss-cn-hangzhou.aliyuncs.com OSS_BUCKET_NAME: str = os.getenv("OSS_BUCKET_NAME", "") OSS_PREFIX: str = os.getenv("OSS_PREFIX", "data_nexus") # 存储前缀 OSS_CDN_URL: str = os.getenv("OSS_CDN_URL", "https://res-bj.cybertogether.net") # CDN 域名 settings = Settings()