penmcp / app.py
TNTFLO's picture
Deploy from GitHub repository
998a913 verified
import os
import subprocess
import threading
import time
from mcp_server import gradio_ui
import backup
# Restore on startup
BACKUP_REPO = os.environ.get("BACKUP_REPO")
HF_TOKEN = os.environ.get("HF_TOKEN")
if BACKUP_REPO and HF_TOKEN:
print("Restoring from backup...")
try:
subprocess.run(["python", "restore.py"], check=True)
print("Restore completed.")
except Exception as e:
print(f"Restore failed: {e}")
else:
print("No backup repo/token set, skipping restore.")
# Start backup thread
def backup_thread():
while True:
time.sleep(45 * 60) # 45 minutes
if BACKUP_REPO and HF_TOKEN:
print("Starting backup...")
try:
backup.run_backup()
except Exception as e:
print(f"Backup failed: {e}")
threading.Thread(target=backup_thread, daemon=True).start()
# Launch Gradio app
demo = gradio_ui()
demo.launch(server_name="0.0.0.0", server_port=int(os.environ.get("PORT", 7860)))