diff --git a/ALLOWED_HOSTS_FIX.md b/ALLOWED_HOSTS_FIX.md
new file mode 100644
index 0000000..2bdfe91
--- /dev/null
+++ b/ALLOWED_HOSTS_FIX.md
@@ -0,0 +1,85 @@
+# 🎉 Success! Django is Running - Quick ALLOWED_HOSTS Fix
+
+## Great News!
+- ✅ **Django is starting successfully** (no more "service unavailable")
+- ✅ **Gunicorn is running** and responding to requests
+- ❌ **400 Bad Request** = Django rejecting health check due to ALLOWED_HOSTS
+
+## 🔧 Quick Fix - Update ALLOWED_HOSTS
+
+### Step 1: Get Your Railway Domain
+Check your Railway project dashboard or URL bar for the exact domain, it looks like:
+```
+your-project-name-production-1234.up.railway.app
+```
+
+### Step 2: Set ALLOWED_HOSTS in Railway Variables
+Go to Railway → Variables → Add/Update:
+
+**Option A: Specific Domain**
+```bash
+ALLOWED_HOSTS=your-exact-railway-domain.railway.app,quantumtaskai.com
+```
+
+**Option B: Railway Wildcard (Recommended)**
+```bash
+ALLOWED_HOSTS=*.railway.app,quantumtaskai.com,localhost
+```
+
+**Option C: Debug Mode (Temporary)**
+```bash
+ALLOWED_HOSTS=*
+```
+
+### Step 3: Railway Will Auto-Redeploy
+- Railway automatically redeploys when environment variables change
+- Wait 30-60 seconds for redeploy
+- Health check should then pass
+
+## 🎯 Expected Results
+
+### Before Fix (Current):
+```html
+
+
+
Bad Request (400)
+Bad Request (400)
+
+```
+
+### After Fix:
+```json
+{
+ "status": "healthy",
+ "app": "quantum-tasks-ai",
+ "checks": {
+ "application": {"status": "healthy", "django_ready": true},
+ "environment": {"status": "healthy", "secret_key_configured": true}
+ }
+}
+```
+
+## 🚀 Next Steps After Fix
+
+1. **Verify health check passes**: Should return JSON instead of HTML
+2. **Test application access**: Visit Railway domain in browser
+3. **Setup database**: Run `railway run python manage.py setup_database`
+4. **Test agents**: All 6 AI agents should be available
+
+## 🔍 Debug Commands
+
+```bash
+# Check your exact Railway domain
+railway status
+
+# Check current environment variables
+railway variables
+
+# Test health endpoint
+curl https://your-railway-domain/health/
+
+# View logs
+railway logs --tail 20
+```
+
+The hard part is done - Django is running! This is just a configuration fix. 🎯
\ No newline at end of file
diff --git a/EMERGENCY_STARTUP_FIX.md b/EMERGENCY_STARTUP_FIX.md
new file mode 100644
index 0000000..e5eb8ed
--- /dev/null
+++ b/EMERGENCY_STARTUP_FIX.md
@@ -0,0 +1,111 @@
+# 🚨 Emergency Railway Startup Fix
+
+## Issue: Service Unavailable (Django Not Starting)
+
+We've regressed from 400 Bad Request (Django running) back to "service unavailable" (app not starting). This is likely an environment variable issue.
+
+## 🔧 IMMEDIATE FIXES TO TRY
+
+### Fix 1: Minimal Environment Variables
+**Set ONLY these in Railway Variables:**
+```bash
+SECRET_KEY=your-50-character-secret-key
+DEBUG=False
+ALLOWED_HOSTS=*
+```
+**Remove all other variables temporarily**
+
+### Fix 2: Check ALLOWED_HOSTS Syntax
+**Bad (causes crash):**
+```bash
+ALLOWED_HOSTS=*.railway.app, quantumtaskai.com # NO SPACES
+ALLOWED_HOSTS="*.railway.app,quantumtaskai.com" # NO QUOTES
+```
+
+**Good:**
+```bash
+ALLOWED_HOSTS=*.railway.app,quantumtaskai.com
+# OR for debugging:
+ALLOWED_HOSTS=*
+```
+
+### Fix 3: Generate New SECRET_KEY
+**The SECRET_KEY might be invalid:**
+```bash
+# Generate new one:
+python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"
+
+# Set in Railway:
+SECRET_KEY=django-insecure-your-new-key-here
+```
+
+## 🚀 Deployment Strategy
+
+### Step 1: Minimal railway.json (DONE)
+- Removed health check
+- Removed collectstatic
+- Bare minimum startup
+
+### Step 2: Set Minimal Variables
+```bash
+SECRET_KEY=your-generated-key
+DEBUG=False
+ALLOWED_HOSTS=*
+```
+
+### Step 3: Deploy and Test
+```bash
+git add .
+git commit -m "Emergency fix - minimal config"
+git push origin main
+```
+
+### Step 4: Check Direct Access
+```bash
+# Once deployed, test direct access:
+curl https://your-railway-domain.railway.app/
+# Should return HTML page, not connection error
+```
+
+## 🔍 Debug Commands
+
+### Check Railway Logs
+```bash
+railway logs --tail 50
+```
+
+**Look for these errors:**
+- `ImproperlyConfigured: The SECRET_KEY setting must not be empty`
+- `ImproperlyConfigured: You must set settings.ALLOWED_HOSTS`
+- `ModuleNotFoundError`
+- `ImportError`
+- `Address already in use`
+
+### Check Variables
+```bash
+railway variables
+```
+
+## 📊 Success Indicators
+
+### ✅ App Starting
+- Railway logs show: `Starting gunicorn`
+- No Python errors in logs
+- Direct URL access works (returns HTML)
+
+### ✅ Ready for Health Check
+Once basic startup works, we can add back:
+```json
+{
+ "deploy": {
+ "startCommand": "gunicorn netcop_hub.wsgi:application --bind 0.0.0.0:$PORT",
+ "healthcheckPath": "/health/",
+ "healthcheckTimeout": 30
+ }
+}
+```
+
+## 🎯 Goal
+Get back to where Django was at least starting (even with 400 error), then fix the ALLOWED_HOSTS properly.
+
+**The issue is likely in environment variable syntax or SECRET_KEY format.**
\ No newline at end of file
diff --git a/railway.json b/railway.json
index 3624bbf..f528c08 100644
--- a/railway.json
+++ b/railway.json
@@ -4,11 +4,8 @@
"builder": "NIXPACKS"
},
"deploy": {
- "startCommand": "python manage.py collectstatic --noinput && gunicorn netcop_hub.wsgi:application --bind 0.0.0.0:$PORT --workers 1 --timeout 60",
+ "startCommand": "gunicorn netcop_hub.wsgi:application --bind 0.0.0.0:$PORT --workers 1 --timeout 60",
"restartPolicyType": "ON_FAILURE",
- "restartPolicyMaxRetries": 5,
- "healthcheckPath": "/health/",
- "healthcheckTimeout": 30,
- "healthcheckInterval": 10
+ "restartPolicyMaxRetries": 3
}
}
\ No newline at end of file