62 lines
1.6 KiB
Bash
Executable File
62 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
||
# Скрипт для обновления и пересборки Docker контейнера
|
||
|
||
set -e
|
||
|
||
echo "=========================================="
|
||
echo "🔄 Updating Camera Server Container"
|
||
echo "=========================================="
|
||
|
||
# Проверяем, находимся ли в корректной директории
|
||
if [ ! -f "docker compose.yml" ]; then
|
||
echo "❌ Error: docker-compose.yml not found"
|
||
echo "Please run this script from the project root directory"
|
||
exit 1
|
||
fi
|
||
|
||
echo ""
|
||
echo "1️⃣ Stopping container..."
|
||
docker compose down
|
||
|
||
echo ""
|
||
echo "2️⃣ Rebuilding image..."
|
||
docker compose build --no-cache
|
||
|
||
echo ""
|
||
echo "3️⃣ Starting container..."
|
||
docker compose up -d
|
||
|
||
echo ""
|
||
echo "4️⃣ Waiting for container to be ready..."
|
||
sleep 3
|
||
|
||
echo ""
|
||
echo "5️⃣ Checking container status..."
|
||
docker compose ps
|
||
|
||
echo ""
|
||
echo "6️⃣ Recent logs:"
|
||
docker compose logs --tail 20
|
||
|
||
echo ""
|
||
echo "=========================================="
|
||
echo "✅ Update complete!"
|
||
echo "=========================================="
|
||
echo ""
|
||
echo "Server should be running on:"
|
||
docker compose exec camera_server python3 -c "
|
||
import os
|
||
from dotenv import load_dotenv
|
||
load_dotenv()
|
||
bind_host = os.getenv('BIND_HOST', '0.0.0.0')
|
||
public_host = os.getenv('PUBLIC_HOST', 'localhost')
|
||
port = os.getenv('PORT', '8000')
|
||
print(f' 📡 Public: http://{public_host}:{port}')
|
||
print(f' 🔗 Local: http://127.0.0.1:{port}')
|
||
" 2>/dev/null || echo " 📡 Check .env for PUBLIC_HOST and PORT"
|
||
|
||
echo ""
|
||
echo "To view logs in real-time:"
|
||
echo " docker-compose logs -f"y
|
||
echo ""
|