mirror of
https://github.com/awslabs/amazon-bedrock-agentcore-samples.git
synced 2025-09-08 20:50:46 +00:00
* updated README.md file with bearer token generation * updated README.md file with bearer token generation-removed client id and secret credentials * removed hardcoded domain * added agent runtime, frontend, observability and agentcore identity * update README.md file to reflect frontend testing
114 lines
3.3 KiB
Bash
Executable File
114 lines
3.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Setup and run script for Device Management Chat Application
|
|
|
|
echo "🚀 Setting up Device Management Chat Application..."
|
|
|
|
# Function to check if Docker is available
|
|
check_docker() {
|
|
if command -v docker &>/dev/null && command -v docker-compose &>/dev/null; then
|
|
return 0
|
|
else
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
# Function to setup and run with Docker
|
|
run_with_docker() {
|
|
echo "🐳 Using Docker deployment..."
|
|
|
|
# Check if .env file exists
|
|
if [ ! -f ".env" ]; then
|
|
echo "📄 Creating .env file from template..."
|
|
cp .env.example .env
|
|
echo "⚠️ Please update the .env file with your configuration:"
|
|
echo " - AWS_REGION"
|
|
echo " - AGENT_ARN"
|
|
echo " - Cognito settings (optional)"
|
|
echo ""
|
|
echo "Then run this script again."
|
|
exit 1
|
|
fi
|
|
|
|
# Build and run with Docker Compose
|
|
echo "🔨 Building and starting containers..."
|
|
docker-compose up -d
|
|
|
|
echo "✅ Application started successfully!"
|
|
echo "📱 Access the application at http://localhost:5001"
|
|
echo "📋 View logs with: docker-compose logs -f"
|
|
echo "🛑 Stop with: docker-compose down"
|
|
}
|
|
|
|
# Function to setup and run locally
|
|
run_locally() {
|
|
echo "🐍 Using local Python deployment..."
|
|
|
|
# Check if Python 3.12 is installed
|
|
if command -v python3.12 &>/dev/null; then
|
|
echo "✅ Python 3.12 found"
|
|
PYTHON_CMD=python3.12
|
|
elif command -v python3 &>/dev/null; then
|
|
PYTHON_VERSION=$(python3 --version | cut -d' ' -f2)
|
|
echo "🔍 Found Python $PYTHON_VERSION"
|
|
if [[ "$PYTHON_VERSION" == 3.12* ]]; then
|
|
echo "✅ Python 3.12 found"
|
|
PYTHON_CMD=python3
|
|
else
|
|
echo "⚠️ Warning: Python 3.12 is recommended, but using $PYTHON_VERSION"
|
|
PYTHON_CMD=python3
|
|
fi
|
|
else
|
|
echo "❌ Python 3.12 not found. Please install Python 3.12"
|
|
exit 1
|
|
fi
|
|
|
|
# Check if virtual environment exists
|
|
if [ ! -d "venv" ]; then
|
|
echo "🔧 Creating virtual environment..."
|
|
$PYTHON_CMD -m venv venv
|
|
echo "✅ Virtual environment created"
|
|
fi
|
|
|
|
# Activate virtual environment
|
|
echo "🔌 Activating virtual environment..."
|
|
source venv/bin/activate
|
|
|
|
# Install dependencies
|
|
echo "📦 Installing dependencies..."
|
|
pip install -r requirements.txt
|
|
|
|
# Check if .env file exists
|
|
if [ ! -f ".env" ]; then
|
|
echo "📄 Creating .env file from template..."
|
|
cp .env.example .env
|
|
echo "⚠️ Please update the .env file with your configuration:"
|
|
echo " - AWS_REGION"
|
|
echo " - AGENT_ARN"
|
|
echo " - Cognito settings (optional)"
|
|
echo ""
|
|
echo "Then run this script again."
|
|
exit 1
|
|
fi
|
|
|
|
# Run the application
|
|
echo "🚀 Starting the application..."
|
|
echo "📱 Access the application at http://localhost:5001"
|
|
uvicorn main:app --host 0.0.0.0 --port 5001 --reload
|
|
}
|
|
|
|
# Main execution
|
|
echo "Choose deployment method:"
|
|
echo "1. Docker (recommended)"
|
|
echo "2. Local Python"
|
|
echo ""
|
|
|
|
# Check if Docker is available and prefer it
|
|
if check_docker; then
|
|
echo "🐳 Docker detected - using Docker deployment"
|
|
run_with_docker
|
|
else
|
|
echo "🐍 Docker not available - using local Python deployment"
|
|
run_locally
|
|
fi
|