110 lines
3.0 KiB
Bash
110 lines
3.0 KiB
Bash
#!/bin/bash
|
|
# Quick start script for BDFR Web Interface with Docker
|
|
# This script sets up and starts the Docker environment
|
|
|
|
set -e
|
|
|
|
echo "======================================"
|
|
echo "BDFR Web Interface - Docker Quick Start"
|
|
echo "======================================"
|
|
echo ""
|
|
|
|
# Check if Docker is installed
|
|
if ! command -v docker &> /dev/null; then
|
|
echo "❌ Error: Docker is not installed"
|
|
echo "Please install Docker from: https://docs.docker.com/get-docker/"
|
|
exit 1
|
|
fi
|
|
|
|
# Check if Docker Compose is installed
|
|
if ! command -v docker-compose &> /dev/null && ! docker compose version &> /dev/null; then
|
|
echo "❌ Error: Docker Compose is not installed"
|
|
echo "Please install Docker Compose from: https://docs.docker.com/compose/install/"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ Docker is installed"
|
|
echo ""
|
|
|
|
# Create required directories
|
|
echo "Creating required directories..."
|
|
mkdir -p downloads data config logs
|
|
|
|
echo "✅ Directories created"
|
|
echo ""
|
|
|
|
# Check if .env file exists
|
|
if [ ! -f .env ]; then
|
|
echo "📝 Creating .env file from template..."
|
|
if [ -f .env.example ]; then
|
|
cp .env.example .env
|
|
echo "✅ Created .env file"
|
|
echo ""
|
|
echo "⚠️ IMPORTANT: Edit .env file with your Reddit OAuth credentials"
|
|
echo " Get credentials from: https://www.reddit.com/prefs/apps"
|
|
echo ""
|
|
read -p "Press Enter to continue or Ctrl+C to exit and configure .env first..."
|
|
else
|
|
echo "⚠️ Warning: .env.example not found"
|
|
fi
|
|
else
|
|
echo "✅ .env file already exists"
|
|
fi
|
|
echo ""
|
|
|
|
# Build and start containers
|
|
echo "Building Docker image..."
|
|
echo "This may take a few minutes on first run..."
|
|
echo ""
|
|
|
|
if command -v docker-compose &> /dev/null; then
|
|
docker-compose build
|
|
else
|
|
docker compose build
|
|
fi
|
|
|
|
echo ""
|
|
echo "✅ Build complete!"
|
|
echo ""
|
|
|
|
echo "Starting containers..."
|
|
if command -v docker-compose &> /dev/null; then
|
|
docker-compose up -d
|
|
else
|
|
docker compose up -d
|
|
fi
|
|
|
|
echo ""
|
|
echo "======================================"
|
|
echo "✅ BDFR Web Interface is starting!"
|
|
echo "======================================"
|
|
echo ""
|
|
echo "🌐 Web Interface: http://localhost:8000"
|
|
echo "📚 API Documentation: http://localhost:8000/docs"
|
|
echo ""
|
|
echo "Useful commands:"
|
|
echo " View logs: docker-compose logs -f"
|
|
echo " Stop container: docker-compose down"
|
|
echo " Restart: docker-compose restart"
|
|
echo ""
|
|
echo "For more information, see DOCKER.md"
|
|
echo ""
|
|
|
|
# Wait a moment and check if container is running
|
|
sleep 3
|
|
|
|
if command -v docker-compose &> /dev/null; then
|
|
if docker-compose ps | grep -q "Up"; then
|
|
echo "✅ Container is running successfully!"
|
|
else
|
|
echo "⚠️ Container may not be running. Check logs with:"
|
|
echo " docker-compose logs"
|
|
fi
|
|
else
|
|
if docker compose ps | grep -q "Up"; then
|
|
echo "✅ Container is running successfully!"
|
|
else
|
|
echo "⚠️ Container may not be running. Check logs with:"
|
|
echo " docker compose logs"
|
|
fi
|
|
fi |