| 123456789101112131415161718192021222324252627282930313233343536 |
- 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()
|