✅ Headscale + farmq-admin 라이브 서버 구축 완료 - Docker Headscale 서버 설정 (포트 8070) - farmq-admin 웹 GUI 연동 완료 (포트 5001) - head.pharmq.kr 도메인 연결 - 1년 유효 재사용 가능 preauth key 생성 - 클라이언트 자동 등록 스크립트 완성 🔧 farmq-admin 설정: - Headscale CLI API 래퍼 구현 - 실시간 노드/사용자 관리 GUI - 데이터베이스 경로 수정 (/srv/headscale-tailscale-replacement/data/) - 안전한 JSON 파싱 및 에러 처리 개선 📋 클라이언트 등록: - register-client-pharmq-live.sh 스크립트 - head.pharmq.kr 도메인 사용 - 자동 Tailscale 설치 및 등록 - 테스트 완료 (100.64.0.1 IP 할당됨) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
56 lines
1.7 KiB
Python
56 lines
1.7 KiB
Python
"""
|
|
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-tailscale-replacement/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 '0HHiZBM.lULHUaFbCQPQqU7-3tUCqFuB9JeueS9r'
|
|
|
|
# 모니터링 설정
|
|
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
|
|
} |