- URL:
https://enategawebsitechatbot-production.up.railway.app/ - Admin API Endpoint:
/admin/api - Status: Already configured in
admin/app.js
- Username:
admin - Password:
SecurePassword123!
- ✅
admin/index.html- Main HTML - ✅
admin/app.js- JavaScript (API URL already set) - ✅
admin/style.css- Styling - ✅
admin/netlify.toml- Netlify config
Test your backend API:
curl https://enategawebsitechatbot-production.up.railway.app/healthzShould return: {"ok":true,"collection":"enatega_home","points":119}
Option A: Netlify UI (Easiest)
- Go to https://app.netlify.com/
- Click "Add new site" → "Import an existing project"
- Connect GitHub → Select
Enatega_website_chatbotrepo - Build Settings:
Base directory: admin Build command: (leave empty) Publish directory: . - Click "Deploy site"
- Wait 1-2 minutes for deployment
Option B: Netlify CLI
# Install CLI (if not installed)
npm install -g netlify-cli
# Login
netlify login
# Deploy
cd admin
netlify deploy --prod- Open your Netlify URL (e.g.,
https://random-name-123.netlify.app) - Login with:
- Username:
admin - Password:
SecurePassword123!
- Username:
- Test features:
- View files list
- Create a test file
- Edit a file
- Delete the test file
- Check status (should show 119 chunks)
Edit backend .env:
ADMIN_USERNAME=your_secure_username
ADMIN_PASSWORD=YourVeryStrongPassword123!@#Then restart Railway service:
# Via Railway CLI
railway restart
# Or via Railway Dashboard
# Go to your service → Click "Restart"Edit api/main.py line 35-42:
app.add_middleware(
CORSMiddleware,
allow_origins=[
"https://your-admin.netlify.app", # Add your Netlify URL
"http://localhost:8080" # Keep for local testing
],
allow_credentials=False,
allow_methods=["*"],
allow_headers=["*"],
)In Netlify Dashboard:
- Go to "Domain settings"
- Add custom domain:
admin.enatega.com - Update DNS as instructed
- SSL certificate auto-generated
Your Computer Netlify CDN Railway Backend
│ │ │
│ 1. Push to GitHub │ │
├────────────────────────────>│ │
│ │ │
│ 2. Netlify auto-deploys │ │
│ admin folder │ │
│ │ │
│ │ 3. User visits admin │
│ │<──────────────────────────│
│ │ │
│ │ 4. Login request │
│ ├──────────────────────────>│
│ │ /admin/api/files │
│ │ │
│ │ 5. Auth check │
│ │<──────────────────────────│
│ │ (Basic Auth) │
│ │ │
│ │ 6. Return data │
│ │<──────────────────────────│
│ │ │
After deployment, test these features:
-
Login
- Open Netlify URL
- Enter username:
admin - Enter password:
SecurePassword123! - Should see files list
-
View Files
- Should see list of .txt files
- Should show file sizes and modified dates
- Status bar should show: "X files • 119 chunks in enatega_home"
-
Create File
- Click "+ New File"
- Enter filename:
test-deployment.txt - Enter content: "Testing admin panel deployment"
- Click "Save"
- Should see success notification
-
Edit File
- Click "Edit" on test-deployment.txt
- Modify content
- Click "Save"
- Should see success notification
-
Delete File
- Click "Delete" on test-deployment.txt
- Confirm deletion
- Should see success notification
-
Re-ingest (Optional - takes 2-3 minutes)
- Click "⚡ Re-ingest to Qdrant"
- Confirm action
- Watch progress in modal
- Should complete successfully
Symptoms: Can't login, error message appears Cause: Backend not reachable Fix:
- Check Railway dashboard - is service running?
- Test backend:
curl https://enategawebsitechatbot-production.up.railway.app/healthz - Check Railway logs for errors
Symptoms: Login fails with wrong credentials message Cause: Wrong username/password Fix:
- Check backend
.envfile for correct credentials - Default is:
admin/SecurePassword123! - If changed, restart Railway service
Symptoms: API calls blocked, CORS error in F12 console Cause: Backend CORS not allowing Netlify domain Fix:
- Your backend already allows all origins (
allow_origins=["*"]) - If you restricted it, add Netlify domain to
allow_origins
Symptoms: Empty files list
Cause: No files in data/clean/ directory
Fix:
- Check Railway:
ls data/clean/ - Should have 50+ .txt files
- If missing, run pipeline:
./run_pipeline.sh
The admin panel is responsive and works on mobile:
- ✅ iPhone/iPad (Safari, Chrome)
- ✅ Android (Chrome, Firefox)
- ✅ Tablets
Netlify auto-deploys when you push to GitHub:
# Make changes to admin panel
cd admin
# Edit files...
# Commit and push
git add .
git commit -m "Update admin panel UI"
git push origin main
# Netlify automatically deploys in 1-2 minutes- Dashboard → Your Site → Analytics
- Track: Visits, Page views, Bandwidth
# Via CLI
railway logs --tail
# Via Dashboard
# Go to your service → Logs tab- URL: https://cloud.qdrant.io/
- Check: Collection size, Vector count, API usage
Your deployment is successful when:
- ✅ Netlify URL loads admin panel
- ✅ Login works with correct credentials
- ✅ Files list displays correctly
- ✅ Can create, edit, delete files
- ✅ Status shows correct chunk count
- ✅ No errors in browser console (F12)
- ✅ Backend logs show successful API calls
- Deploy now using steps above
- Test thoroughly using checklist
- Change admin password for security
- Share with team:
- URL: (your Netlify URL)
- Username: (from .env)
- Password: (from .env)
- Set up custom domain (optional)
- Monitor usage via Netlify/Railway dashboards
ADMIN_DEPLOYMENT_GUIDE.md- Full deployment guideQUICK_DEPLOY.md- Quick referenceDEPLOYMENT_SUMMARY.md- This file
Ready to deploy? Follow Step 1 above! 🚀