#!/bin/bash # Скрипт для настройки совместимости docker-compose с Docker Compose v2 # Запускать на продакшн сервере с правами sudo echo "🐳 Setting up docker-compose compatibility..." # Проверяем, есть ли уже docker-compose if command -v docker-compose >/dev/null 2>&1; then echo "✅ docker-compose уже доступен:" docker-compose --version exit 0 fi # Проверяем наличие docker compose v2 if ! docker compose version >/dev/null 2>&1; then echo "❌ Docker Compose v2 не найден. Установите Docker сначала." exit 1 fi echo "📦 Docker Compose v2 обнаружен:" docker compose version # Пытаемся найти путь к docker-compose plugin COMPOSE_PLUGIN_PATH="" for path in "/usr/libexec/docker/cli-plugins/docker-compose" "/usr/local/lib/docker/cli-plugins/docker-compose" "/opt/docker/cli-plugins/docker-compose"; do if [ -f "$path" ]; then COMPOSE_PLUGIN_PATH="$path" break fi done # Если найден plugin, создаем symlink if [ -n "$COMPOSE_PLUGIN_PATH" ]; then echo "🔗 Создаем symlink из $COMPOSE_PLUGIN_PATH" sudo ln -sf "$COMPOSE_PLUGIN_PATH" /usr/local/bin/docker-compose else # Создаем wrapper скрипт echo "📝 Создаем wrapper скрипт..." sudo tee /usr/local/bin/docker-compose > /dev/null << 'EOF' #!/bin/bash # Docker Compose v1 compatibility wrapper exec docker compose "$@" EOF fi # Делаем исполняемым sudo chmod +x /usr/local/bin/docker-compose # Проверяем результат if command -v docker-compose >/dev/null 2>&1; then echo "✅ Успешно! docker-compose теперь доступен:" docker-compose --version else echo "❌ Что-то пошло не так. Проверьте настройки PATH." exit 1 fi echo "🎉 Настройка завершена!"