Files
ASF_tools/asf-cloud-server/testarena_1/READY_TO_DEPLOY.md
2025-11-28 11:22:07 +01:00

6.0 KiB

🚀 ASF TestArena - READY TO DEPLOY!

Configuration Complete

Your ASF TestArena is now fully configured and ready for deployment!

What's Been Configured

Docker Networks

  • Internal network: app-network (web ↔ database)
  • External network: caddy_network (Caddy ↔ web)
  • Both networks configured in docker-compose.yml

Deployment Scripts

  • deploy.ps1 - PowerShell deployment script (Windows)
  • deploy.sh - Bash deployment script (Linux/Mac)
  • start.bat - Simple Windows startup script
  • All scripts include error checking and validation

Documentation Updated

  • All guides updated with correct network names
  • Deployment instructions simplified
  • Troubleshooting guides included

🎯 Deploy Now (Choose One)

Windows Users

Option 1: PowerShell (Recommended)

.\deploy.ps1

Option 2: Command Prompt

start.bat

Linux/Mac Users

chmod +x deploy.sh
./deploy.sh

📋 What the Deployment Script Does

  1. Checks Docker is installed and running
  2. Checks Docker Compose is available
  3. Creates .env file if missing
  4. Verifies/creates caddy_network
  5. Stops any existing containers
  6. Builds new container images
  7. Starts all services
  8. Waits for initialization
  9. Verifies containers are running
  10. Displays access information

⏱️ Deployment Time

  • First deployment: 3-5 minutes (building images)
  • Subsequent deployments: 30-60 seconds

🌐 Access After Deployment

Local Access:

Domain Access:

Default Login:

  • Username: admin
  • Password: admin123

⚠️ CHANGE PASSWORD IMMEDIATELY AFTER FIRST LOGIN!

🔧 Caddy Configuration (If Not Already Done)

Add this to your Caddyfile:

testarena.nabd-co.com {
    reverse_proxy testarena_web:5000
    encode gzip
}

Reload Caddy:

docker exec caddy_container caddy reload --config /etc/caddy/Caddyfile

Post-Deployment Checklist

After deployment completes:

  1. Verify containers are running: docker-compose ps
  2. Check logs for errors: docker-compose logs
  3. Access login page: https://testarena.nabd-co.com
  4. Login with default credentials
  5. Change admin password
  6. Create test user account
  7. Test user login
  8. Test job submission workflow
  9. Verify admin can see all jobs
  10. Verify user can only see own jobs

🎉 What You'll Have

After successful deployment:

For Admins

  • User management dashboard
  • Create/delete users
  • Reset passwords
  • View all test jobs
  • Full system access

For Users

  • Personal dashboard
  • Submit test jobs (5-step wizard)
  • View own jobs
  • Monitor job status
  • View job details

Features Working

  • Secure login/logout
  • Role-based access control
  • User management
  • Job submission workflow
  • Dashboard with job list
  • Job details view
  • Modern, responsive UI
  • Database persistence

Features Pending (Phase 2)

  • Git branch checkout
  • Scenario detection
  • Test execution
  • Real-time status updates
  • Results generation
  • Automatic cleanup

📊 System Architecture

Internet (HTTPS)
       ↓
   Caddy Proxy
       ↓
  testarena_web (Flask/Gunicorn)
       ↓
  testarena_db (PostgreSQL)

Networks:

  • caddy_network - External (Caddy ↔ Web)
  • app-network - Internal (Web ↔ Database)

Volumes:

  • postgres_data - Database persistence
  • test_results - Test output files

🛠️ Useful Commands

# View logs
docker-compose logs -f

# Check status
docker-compose ps

# Restart services
docker-compose restart

# Stop services
docker-compose down

# Rebuild and restart
docker-compose up -d --build

# Access web container shell
docker exec -it testarena_web bash

# Access database
docker exec -it testarena_db psql -U testarena_user testarena

# Backup database
docker exec testarena_db pg_dump -U testarena_user testarena > backup.sql

🐛 Quick Troubleshooting

Deployment Script Fails

Check Docker is running:

docker info

Check Docker Compose:

docker-compose --version

Containers Won't Start

View logs:

docker-compose logs

Common issues:

  • Port 5000 already in use
  • Database initialization (wait 30 seconds)
  • Network doesn't exist (script creates it)

Can't Access Website

Check containers:

docker-compose ps

Check web container:

docker-compose logs web

Test local access:

curl http://localhost:5000

502 Bad Gateway

Wait for initialization:

  • Web container may still be starting
  • Wait 30-60 seconds and try again

Check Gunicorn:

docker exec testarena_web ps aux | grep gunicorn

📚 Documentation

  • DEPLOY_GUIDE.md - Comprehensive deployment guide
  • START_HERE.md - Quick start guide
  • QUICK_START.md - Fast reference
  • INDEX.md - Documentation index
  • TROUBLESHOOTING.md - Common issues

🔐 Security Reminders

  1. ⚠️ Change default admin password
  2. ⚠️ Update SECRET_KEY in production
  3. ⚠️ Use strong database password
  4. ⚠️ Enable HTTPS via Caddy
  5. ⚠️ Regular security updates

📞 Support

If you encounter issues:

  1. Check deployment logs
  2. Review DEPLOY_GUIDE.md
  3. Check TROUBLESHOOTING.md
  4. Review container logs: docker-compose logs -f

🎊 Ready to Deploy!

Everything is configured and ready. Just run the deployment script:

Windows:

.\deploy.ps1

Linux/Mac:

./deploy.sh

The script will guide you through the process and verify everything is working!


📝 Deployment Notes

Date: _______________
Deployed By: _______________
Server: _______________
Domain: testarena.nabd-co.com
Status: Ready to Deploy


Good luck with your deployment! 🚀

For any questions, refer to the comprehensive documentation in the project root.