49 lines
2.3 KiB
Python
49 lines
2.3 KiB
Python
#!/usr/bin/env python3
|
||
"""
|
||
Скрипт для запуска проекта в режиме разработки
|
||
"""
|
||
|
||
import subprocess
|
||
import sys
|
||
import os
|
||
|
||
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 ps", "Проверка статуса контейнеров"):
|
||
if "Up" in subprocess.run("docker compose ps", shell=True, capture_output=True, text=True).stdout:
|
||
print("🛑 Останавливаю продакшн контейнеры...")
|
||
run_command("docker compose down", "Остановка продакшн контейнеров")
|
||
|
||
# Запускаем режим разработки
|
||
print("\n🔧 Запуск режима разработки...")
|
||
if run_command("docker compose -f docker-compose.dev.yml up -d", "Запуск контейнеров разработки"):
|
||
print("\n🎉 Проект запущен в режиме разработки!")
|
||
print("\n📍 Доступные сервисы:")
|
||
print(" • Streamlit: http://localhost:8501")
|
||
print(" • FastAPI: http://localhost:8000")
|
||
print(" • MinIO Console: http://localhost:9001")
|
||
print("\n💡 Теперь изменения в streamlit_app/ будут автоматически перезагружаться!")
|
||
print("\n🛑 Для остановки используйте:")
|
||
print(" docker compose -f docker-compose.dev.yml down")
|
||
else:
|
||
print("\n❌ Не удалось запустить проект в режиме разработки")
|
||
sys.exit(1)
|
||
|
||
if __name__ == "__main__":
|
||
main() |