49 lines
2.3 KiB
Python
49 lines
2.3 KiB
Python
#!/usr/bin/env python3
|
||
"""
|
||
Скрипт для запуска проекта в продакшн режиме
|
||
"""
|
||
|
||
import subprocess
|
||
import sys
|
||
|
||
def run_command(command, description):
|
||
"""Выполнение команды с выводом"""
|
||
print(f"🔄 {description}...")
|
||
try:
|
||
result = subprocess.run(command, shell=True, check=True, capture_output=True, text=True)
|
||
print(f"✅ {description} выполнено успешно")
|
||
return True
|
||
except subprocess.CalledProcessError as e:
|
||
print(f"❌ Ошибка при {description.lower()}:")
|
||
print(f" Команда: {command}")
|
||
print(f" Ошибка: {e.stderr}")
|
||
return False
|
||
|
||
def main():
|
||
print("🚀 Запуск проекта в продакшн режиме")
|
||
print("=" * 50)
|
||
|
||
# Останавливаем контейнеры разработки если они запущены
|
||
if run_command("docker compose -f docker-compose.dev.yml ps", "Проверка статуса контейнеров разработки"):
|
||
if "Up" in subprocess.run("docker compose -f docker-compose.dev.yml ps", shell=True, capture_output=True, text=True).stdout:
|
||
print("🛑 Останавливаю контейнеры разработки...")
|
||
run_command("docker compose -f docker-compose.dev.yml down", "Остановка контейнеров разработки")
|
||
|
||
# Запускаем продакшн режим
|
||
print("\n🏭 Запуск продакшн режима...")
|
||
if run_command("docker compose up -d --build", "Запуск продакшн контейнеров"):
|
||
print("\n🎉 Проект запущен в продакшн режиме!")
|
||
print("\n📍 Доступные сервисы:")
|
||
print(" • Streamlit: http://localhost:8501")
|
||
print(" • FastAPI: http://localhost:8000")
|
||
print(" • MinIO Console: http://localhost:9001")
|
||
print("\n💡 Для разработки используйте:")
|
||
print(" python start_dev.py")
|
||
print("\n🛑 Для остановки используйте:")
|
||
print(" docker compose down")
|
||
else:
|
||
print("\n❌ Не удалось запустить проект в продакшн режиме")
|
||
sys.exit(1)
|
||
|
||
if __name__ == "__main__":
|
||
main() |