Align the project baseline with the latest admin interface styling and layout structure while documenting setup and usage updates in README.
55 lines
2.0 KiB
Python
55 lines
2.0 KiB
Python
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
|
|
from app.core.install_secrets import load_install_secrets_to_env
|
|
|
|
load_install_secrets_to_env()
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
model_config = SettingsConfigDict(env_file=".env", env_file_encoding="utf-8", extra="ignore")
|
|
|
|
database_url: str = "postgresql+psycopg://user:pass@localhost:5432/compton"
|
|
redis_url: str = "redis://localhost:6379/0"
|
|
jwt_access_secret: str = "change-me-access-secret-with-at-least-32-bytes"
|
|
jwt_refresh_pepper: str = "change-me-refresh-pepper-with-at-least-32-bytes"
|
|
jwt_access_ttl_min: int = 15
|
|
jwt_refresh_ttl_days: int = 30
|
|
enable_docs: bool = True
|
|
cookie_secure: bool = False
|
|
cors_origins: list[str] = ["http://localhost:5173"]
|
|
enable_rate_limit: bool = True
|
|
auth_lockout_attempts: int = 5
|
|
auth_lockout_minutes: int = 15
|
|
admin_initial_password: str = "Admin1234"
|
|
demo_user_password: str = "User1234"
|
|
demo_ops_password: str = "OpsAdmin1234"
|
|
smtp_host: str = "localhost"
|
|
smtp_port: int = 1025
|
|
smtp_user: str = ""
|
|
smtp_password: str = ""
|
|
smtp_from: str = "noreply@compton.example"
|
|
frontend_url: str = "http://localhost:5173"
|
|
public_base_url: str = "http://localhost:5173"
|
|
auth_token_ttl_hours: int = 1
|
|
email_delivery_mode: str = "smtp"
|
|
s3_endpoint: str = "http://localhost:9000"
|
|
s3_access_key: str = "minio"
|
|
s3_secret_key: str = "minio123"
|
|
s3_bucket: str = "compton"
|
|
s3_region: str = "us-east-1"
|
|
storage_mode: str = "s3"
|
|
avatar_max_bytes: int = 2 * 1024 * 1024
|
|
media_url_ttl_seconds: int = 600
|
|
log_level: str = "INFO"
|
|
audit_retention_days: int = 90
|
|
password_denylist_path: str = "data/security/password-denylist.txt"
|
|
compton_settings_path: str = "data/compton_settings.json"
|
|
admin_audit_log_path: str = "data/logs/admin-audit.jsonl"
|
|
server_log_path: str = "data/logs/server.log"
|
|
enable_test_routes: bool = False
|
|
app_env: str = "development"
|
|
trusted_proxy_ips: str = ""
|
|
|
|
|
|
settings = Settings()
|