CodebaseAi commited on
Commit
3fdf4b6
·
1 Parent(s): 0f8fe33
Files changed (2) hide show
  1. backend/app.py +11 -9
  2. backend/requirements.txt +3 -0
backend/app.py CHANGED
@@ -6,6 +6,7 @@ import logging
6
  from flask import Flask, jsonify
7
  from flask_cors import CORS
8
  from flask_socketio import SocketIO
 
9
 
10
 
11
  # lightweight logging
@@ -28,9 +29,11 @@ try:
28
  MAIL_SERVER="smtp.gmail.com",
29
  MAIL_PORT=587,
30
  MAIL_USE_TLS=True,
31
- MAIL_USERNAME="yishu2005.ju@gmail.com",
32
- MAIL_PASSWORD="prko cejt awef zmmi",
33
- MAIL_DEFAULT_SENDER=("Adaptive AI NIDS", "yishu2005.ju@gmail.com")
 
 
34
  )
35
  mail.init_app(app)
36
 
@@ -97,10 +100,9 @@ def home():
97
  })
98
 
99
 
100
- if __name__ == "__main__":
101
- print("🚀 Starting Adaptive AI NIDS Backend (threading mode)...")
102
- # Run without debug debug spawns extra processes and uses more CPU
103
- socketio.run(app, host="0.0.0.0", port=5000, debug=False)
104
-
105
-
106
 
 
6
  from flask import Flask, jsonify
7
  from flask_cors import CORS
8
  from flask_socketio import SocketIO
9
+ import os # <-- ADDED: For reading environment variables
10
 
11
 
12
  # lightweight logging
 
29
  MAIL_SERVER="smtp.gmail.com",
30
  MAIL_PORT=587,
31
  MAIL_USE_TLS=True,
32
+ # --- SECURITY FIX: Fetch credentials from environment variables ---
33
+ MAIL_USERNAME=os.environ.get("MAIL_USERNAME"),
34
+ MAIL_PASSWORD=os.environ.get("MAIL_PASSWORD"),
35
+ # -----------------------------------------------------------------
36
+ MAIL_DEFAULT_SENDER=("Adaptive AI NIDS", os.environ.get("MAIL_USERNAME"))
37
  )
38
  mail.init_app(app)
39
 
 
100
  })
101
 
102
 
103
+ # --- REMOVED: The local run block is removed. Gunicorn will handle startup on Render. ---
104
+ # if __name__ == "__main__":
105
+ # print("🚀 Starting Adaptive AI NIDS Backend (threading mode)...")
106
+ # # Run without debug — debug spawns extra processes and uses more CPU
107
+ # socketio.run(app, host="0.0.0.0", port=5000, debug=False)
 
108
 
backend/requirements.txt CHANGED
@@ -32,3 +32,6 @@ termcolor==3.2.0
32
  threadpoolctl==3.6.0
33
  tzdata==2025.2
34
  Werkzeug==3.1.3
 
 
 
 
32
  threadpoolctl==3.6.0
33
  tzdata==2025.2
34
  Werkzeug==3.1.3
35
+ gunicorn
36
+ gevent
37
+ gevent-websocket