Files
2026-04-22 22:02:41 +09:00

56 lines
1.7 KiB
Python

import os
import logging
import sys
from flask import Flask
from jinja2 import ChoiceLoader, FileSystemLoader
from routes.main_routes import main_bp
from routes.api_routes import api_bp
# 로그 출력 설정 (컨테이너 로그에서 실시간 확인용)
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)
def create_app():
app = Flask(__name__)
# 템플릿 로더 설정 유지
app.jinja_loader = ChoiceLoader([
FileSystemLoader(os.path.join(app.root_path, 'templates')),
FileSystemLoader(os.path.join(app.root_path, 'tools'))
])
# Blueprints 등록
app.register_blueprint(main_bp)
app.register_blueprint(api_bp)
# 진단 로그
try:
import routes.api_routes as ar
import logic.license_manager as lm
print(f"[*] API Routes Loaded From: {ar.__file__}")
print(f"[*] License Manager Loaded From: {lm.__file__}")
except Exception as e:
print(f"[!] Error during diagnostic: {e}")
return app
try:
from routes import api_routes
print("[*] API 모듈 로드 성공!")
except ImportError as e:
print(f"[!] API 모듈 로드 실패: {e}")
except Exception as e:
print(f"[!] 기타 에러: {e}")
if __name__ == '__main__':
app = create_app()
print("------------------------------------------")
print("drawNET Premium Server Starting...")
# 실제 접속 주소 로그 출력 수정
print("Binding to: http://0.0.0.0:5000")
print("------------------------------------------")
# host='0.0.0.0' 추가가 핵심입니다.
# LXC 환경에서는 use_reloader=False를 권장합니다.
app.run(debug=True, host='0.0.0.0', port=5000, use_reloader=False)