new testarena

This commit is contained in:
2025-11-28 11:22:07 +01:00
parent 22f7f2f94d
commit fb26b8386b
48 changed files with 7105 additions and 0 deletions

View File

@@ -0,0 +1,162 @@
#!/bin/bash
# ASF TestArena Deployment Script
# This script deploys the TestArena application using Docker Compose
set -e # Exit on error
echo "=========================================="
echo " ASF TestArena Deployment Script"
echo "=========================================="
echo ""
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# Function to print colored output
print_success() {
echo -e "${GREEN}$1${NC}"
}
print_error() {
echo -e "${RED}$1${NC}"
}
print_warning() {
echo -e "${YELLOW}$1${NC}"
}
print_info() {
echo -e "${YELLOW} $1${NC}"
}
# Check if Docker is installed
echo "Checking prerequisites..."
if ! command -v docker &> /dev/null; then
print_error "Docker is not installed. Please install Docker first."
exit 1
fi
print_success "Docker is installed"
# Check if Docker Compose is installed
if ! command -v docker-compose &> /dev/null && ! docker compose version &> /dev/null; then
print_error "Docker Compose is not installed. Please install Docker Compose first."
exit 1
fi
print_success "Docker Compose is installed"
# Check if Docker daemon is running
if ! docker info &> /dev/null; then
print_error "Docker daemon is not running. Please start Docker first."
exit 1
fi
print_success "Docker daemon is running"
echo ""
# Check if .env file exists
if [ ! -f .env ]; then
print_warning ".env file not found. Creating from .env.example..."
if [ -f .env.example ]; then
cp .env.example .env
print_info "Please edit .env file and update SECRET_KEY and passwords before continuing."
read -p "Press Enter to continue after editing .env, or Ctrl+C to exit..."
else
print_error ".env.example not found. Cannot create .env file."
exit 1
fi
fi
echo ""
echo "=========================================="
echo " Starting Deployment"
echo "=========================================="
echo ""
# Check if caddy_network exists
echo "Checking for Caddy network..."
if docker network inspect caddy_network &> /dev/null; then
print_success "Caddy network (caddy_network) exists"
else
print_warning "Caddy network (caddy_network) not found"
read -p "Do you want to create it? (y/n) " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
docker network create caddy_network
print_success "Created caddy_network"
else
print_error "Caddy network is required. Exiting."
exit 1
fi
fi
echo ""
# Stop existing containers if running
echo "Stopping existing containers (if any)..."
docker-compose down 2>/dev/null || true
print_success "Stopped existing containers"
echo ""
# Build and start containers
echo "Building and starting containers..."
echo "This may take a few minutes on first run..."
echo ""
if docker-compose up -d --build; then
print_success "Containers built and started successfully"
else
print_error "Failed to start containers"
echo ""
echo "Check logs with: docker-compose logs"
exit 1
fi
echo ""
echo "Waiting for services to initialize..."
sleep 5
# Check if containers are running
echo ""
echo "Checking container status..."
if docker ps | grep -q testarena_web && docker ps | grep -q testarena_db; then
print_success "All containers are running"
else
print_error "Some containers failed to start"
echo ""
echo "Container status:"
docker-compose ps
echo ""
echo "Check logs with: docker-compose logs"
exit 1
fi
echo ""
echo "=========================================="
echo " Deployment Complete!"
echo "=========================================="
echo ""
print_success "ASF TestArena is now running"
echo ""
echo "Access the application at:"
echo " • Local: http://localhost:5000"
echo " • Domain: https://testarena.nabd-co.com"
echo ""
echo "Default credentials:"
echo " • Username: admin"
echo " • Password: admin123"
echo ""
print_warning "IMPORTANT: Change the default admin password immediately!"
echo ""
echo "Useful commands:"
echo " • View logs: docker-compose logs -f"
echo " • Stop: docker-compose down"
echo " • Restart: docker-compose restart"
echo " • Status: docker-compose ps"
echo ""
echo "For help, see START_HERE.md or INDEX.md"
echo ""