Files
BDFR_Web/docker-quick-start.sh

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