""" Flask 애플리케이션 설정 """ import os from pathlib import Path class Config: """기본 설정""" # Flask 기본 설정 SECRET_KEY = os.environ.get('SECRET_KEY') or 'farmq-secret-key-change-in-production' # 데이터베이스 설정 (기존 Headscale SQLite DB 사용) DATABASE_PATH = '/srv/headscale-setup/data/db.sqlite' SQLALCHEMY_DATABASE_URI = f'sqlite:///{DATABASE_PATH}' SQLALCHEMY_TRACK_MODIFICATIONS = False # 기존 Headplane 연동 설정 HEADPLANE_URL = os.environ.get('HEADPLANE_URL') or 'http://localhost:3000' HEADSCALE_URL = os.environ.get('HEADSCALE_URL') or 'http://localhost:8070' HEADSCALE_API_KEY = os.environ.get('HEADSCALE_API_KEY') or '8qRr1IB.tV95CmA0fLaCiGGIgBfeoN9daHceFkzI' # 모니터링 설정 MONITORING_INTERVAL = 30 # 30초마다 데이터 수집 MAX_MONITORING_RECORDS = 1000 # 최대 저장 레코드 수 # UI 설정 APP_TITLE = '팜큐 약국 관리 시스템' ITEMS_PER_PAGE = 20 # 페이지당 아이템 수 # Proxmox 설정 (추후 확장) PROXMOX_DEFAULT_PORT = 8006 PROXMOX_VERIFY_SSL = False class DevelopmentConfig(Config): """개발 환경 설정""" DEBUG = True TESTING = False class ProductionConfig(Config): """프로덕션 환경 설정""" DEBUG = False TESTING = False class TestingConfig(Config): """테스트 환경 설정""" DEBUG = True TESTING = True SQLALCHEMY_DATABASE_URI = 'sqlite:///:memory:' # 환경별 설정 매핑 config = { 'development': DevelopmentConfig, 'production': ProductionConfig, 'testing': TestingConfig, 'default': DevelopmentConfig }