diff --git a/deployment/docker-compose.production.yml b/deployment/docker-compose.production.yml index c0e22c9..6653b97 100644 --- a/deployment/docker-compose.production.yml +++ b/deployment/docker-compose.production.yml @@ -2,8 +2,8 @@ services: # Основное приложение MY UPLOADER BOT app: build: - context: . - dockerfile: Dockerfile.simple + context: .. + dockerfile: deployment/Dockerfile.simple container_name: my-uploader-app restart: unless-stopped depends_on: @@ -11,10 +11,12 @@ services: - redis ports: - "127.0.0.1:15100:15100" + env_file: + - ../.env volumes: - app_data:/app/data - app_logs:/app/logs - - ./app/my_network/bootstrap.json:/app/app/my_network/bootstrap.json:ro + - ../app/my_network/bootstrap.json:/app/app/my_network/bootstrap.json:ro - /var/run/docker.sock:/var/run/docker.sock # Для управления converter контейнерами - converter_shared:/shared/converter # Общая папка для converter заданий environment: diff --git a/fix_docker_container.sh b/fix_docker_container.sh new file mode 100755 index 0000000..34b0dd9 --- /dev/null +++ b/fix_docker_container.sh @@ -0,0 +1,81 @@ +#!/bin/bash + +echo "🔧 Исправление Docker контейнера MY Network..." + +# Переход в папку с проектом +cd "$(dirname "$0")" + +echo "📁 Текущая папка: $(pwd)" + +# Остановка и удаление старых контейнеров +echo "🛑 Остановка старых контейнеров..." +sudo docker-compose -f deployment/docker-compose.production.yml down || true + +# Очистка старых образов +echo "🧹 Очистка старых образов..." +sudo docker system prune -f + +# Показать содержимое .env для проверки +echo "📋 Проверка переменных окружения:" +echo "Основные переменные из .env:" +grep -E "^(POSTGRES_PASSWORD|SECRET_KEY|JWT_SECRET|MY_NETWORK_)" .env | head -5 + +# Проверка файлов +echo "📂 Проверка ключевых файлов:" +if [ -f "start_my_network.py" ]; then + echo "✅ start_my_network.py найден" +else + echo "❌ start_my_network.py НЕ НАЙДЕН!" +fi + +if [ -f "deployment/Dockerfile.simple" ]; then + echo "✅ deployment/Dockerfile.simple найден" +else + echo "❌ deployment/Dockerfile.simple НЕ НАЙДЕН!" +fi + +if [ -f ".env" ]; then + echo "✅ .env найден" +else + echo "❌ .env НЕ НАЙДЕН!" +fi + +# Сборка контейнера только для app сервиса +echo "🔨 Сборка нового контейнера..." +sudo docker-compose -f deployment/docker-compose.production.yml build app + +# Проверка сборки +if [ $? -eq 0 ]; then + echo "✅ Сборка контейнера успешна" + + # Запуск только основных сервисов (без мониторинга) + echo "🚀 Запуск основных сервисов..." + sudo docker-compose -f deployment/docker-compose.production.yml up -d postgres redis app + + # Проверка статуса + echo "📊 Статус контейнеров:" + sudo docker-compose -f deployment/docker-compose.production.yml ps + + # Проверка логов app контейнера + echo "📝 Логи app контейнера (последние 20 строк):" + sudo docker-compose -f deployment/docker-compose.production.yml logs --tail=20 app + + # Проверка доступности + echo "🌐 Проверка доступности (через 10 секунд)..." + sleep 10 + + if curl -f http://localhost:15100/health > /dev/null 2>&1; then + echo "✅ Сервис доступен на http://localhost:15100" + echo "🎉 ИСПРАВЛЕНИЕ ЗАВЕРШЕНО УСПЕШНО!" + echo "" + echo "Теперь выполните: sudo ./setup_ssl_for_domain.sh" + else + echo "❌ Сервис НЕ ДОСТУПЕН на порту 15100" + echo "📝 Показываем полные логи для диагностики:" + sudo docker-compose -f deployment/docker-compose.production.yml logs app + fi + +else + echo "❌ Ошибка сборки контейнера" + exit 1 +fi \ No newline at end of file