#!/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