devportal2 / backend /main.py
akborana4's picture
Create backend/main.py
571cc35 verified
import os
# ⚡ BULLETPROOF FIX: Wipe broken proxies before anything loads
for key in list(os.environ.keys()):
if 'proxy' in key.lower():
del os.environ[key]
from fastapi import FastAPI
from fastapi.responses import HTMLResponse
from fastapi.staticfiles import StaticFiles
from fastapi.templating import Jinja2Templates
from starlette.requests import Request
# Auto-create directories to prevent crashes
os.makedirs("static", exist_ok=True)
os.makedirs("templates", exist_ok=True)
from backend.database import init_db
from backend.routes_auth import router as auth_router
from backend.routes_files import router as files_router
from backend.routes_ai import router as ai_router
from backend.routes_terminal import router as terminal_router
app = FastAPI()
# Mount frontend assets
app.mount("/static", StaticFiles(directory="static"), name="static")
templates = Jinja2Templates(directory="templates")
# Initialize database
init_db()
# Include modular routes
app.include_router(auth_router)
app.include_router(files_router)
app.include_router(ai_router)
app.include_router(terminal_router)
@app.get("/", response_class=HTMLResponse)
async def get(request: Request):
return templates.TemplateResponse("index.html", {"request": request})