89 lines
2.5 KiB
Bash
Executable File
89 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Drakkenheim RAG Application Deployment Script
|
|
# This script helps you deploy the RAG application using Docker Compose
|
|
|
|
set -e
|
|
|
|
echo "🚀 Drakkenheim RAG Application Deployment"
|
|
echo "========================================"
|
|
|
|
# Check if Docker is installed
|
|
if ! command -v docker &> /dev/null; then
|
|
echo "❌ Docker is not installed. Please install Docker first."
|
|
exit 1
|
|
fi
|
|
|
|
# Check if Docker Compose is available
|
|
if ! docker compose version &> /dev/null; then
|
|
echo "❌ Docker Compose is not available. Please ensure Docker is up to date."
|
|
exit 1
|
|
fi
|
|
|
|
# Check if .env file exists
|
|
if [ ! -f .env ]; then
|
|
echo "📝 Creating .env file from template..."
|
|
cp env.example .env
|
|
echo ""
|
|
echo "🔐 Setting up authentication..."
|
|
echo "Generating secure password hash..."
|
|
python3 generate_password.py
|
|
echo ""
|
|
echo "⚠️ Please edit .env file and add your OpenAI API key:"
|
|
echo " nano .env"
|
|
echo ""
|
|
read -p "Press Enter after you've added your API key..."
|
|
fi
|
|
|
|
# Check if OPENAI_API_KEY is set
|
|
if ! grep -q "OPENAI_API_KEY=sk-" .env; then
|
|
echo "❌ OPENAI_API_KEY not found in .env file."
|
|
echo "Please edit .env file and add your OpenAI API key:"
|
|
echo " OPENAI_API_KEY=sk-your-key-here"
|
|
exit 1
|
|
fi
|
|
|
|
# Check if authentication is configured
|
|
if ! grep -q "APP_PASSWORD_HASH=" .env || grep -q "APP_PASSWORD_HASH=your_hashed_password_here" .env; then
|
|
echo "⚠️ Authentication not configured. Generating secure password..."
|
|
python3 generate_password.py
|
|
echo ""
|
|
echo "Please copy the generated values to your .env file and restart deployment."
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ Environment configuration looks good!"
|
|
|
|
# Build the Docker image
|
|
echo "🔨 Building Docker image..."
|
|
docker compose build
|
|
|
|
# Start the application
|
|
echo "🚀 Starting RAG application..."
|
|
docker compose up -d
|
|
|
|
# Wait for the application to start
|
|
echo "⏳ Waiting for application to start..."
|
|
sleep 10
|
|
|
|
# Check if the application is running
|
|
if docker compose ps | grep -q "Up"; then
|
|
echo "✅ Application is running!"
|
|
echo ""
|
|
echo "🌐 Access your RAG application at:"
|
|
echo " http://localhost:8501"
|
|
echo ""
|
|
echo "📊 To view logs:"
|
|
echo " make docker-logs"
|
|
echo ""
|
|
echo "🛑 To stop the application:"
|
|
echo " make docker-down"
|
|
echo ""
|
|
echo "📋 To backup your data:"
|
|
echo " make docker-backup"
|
|
else
|
|
echo "❌ Application failed to start. Check logs with:"
|
|
echo " make docker-logs"
|
|
exit 1
|
|
fi
|