Automated Action d024248fe9 Fix Supervisor start error in containerized environment
- Enhanced database connection with multiple fallback paths
- Updated configuration to use environment variables
- Fixed Alembic migrations to work with dynamic database path
- Improved robustness of database initialization
- Added Docker deployment instructions to README
- Updated environment variables documentation
2025-06-03 01:29:32 +00:00

35 lines
1.1 KiB
Python

from typing import List, Optional
from pydantic_settings import BaseSettings
from pydantic import EmailStr
import secrets
import os
class Settings(BaseSettings):
PROJECT_NAME: str = "HR Platform API"
API_V1_STR: str = "/api/v1"
# SECURITY
SECRET_KEY: str = os.environ.get("SECRET_KEY", secrets.token_urlsafe(32))
# 60 minutes * 24 hours * 8 days = 8 days
ACCESS_TOKEN_EXPIRE_MINUTES: int = int(os.environ.get("ACCESS_TOKEN_EXPIRE_MINUTES", 60 * 24 * 8))
# CORS
BACKEND_CORS_ORIGINS: List[str] = ["*"]
# First superuser
FIRST_SUPERUSER: EmailStr = os.environ.get("FIRST_SUPERUSER", "admin@example.com")
FIRST_SUPERUSER_PASSWORD: str = os.environ.get("FIRST_SUPERUSER_PASSWORD", "admin123")
# Database path - this is just a placeholder, the actual path is determined in db/session.py
DATABASE_PATH: Optional[str] = os.environ.get("DATABASE_PATH")
# SQLITE DB URI - will be set by db/session.py
SQLALCHEMY_DATABASE_URI: Optional[str] = None
class Config:
case_sensitive = True
env_file = ".env"
settings = Settings()