Files
smartsoltech_site/bin/setup-docker-compose-compatibility.sh
Andrey K. Choi a90e046e03 Add docker-compose compatibility script for production server
- Script creates symlink or wrapper for docker-compose command
- Automatically detects Docker Compose v2 plugin location
- Fallback to wrapper script if plugin not found
- Helps maintain compatibility with existing deployment scripts
2025-11-26 10:08:59 +09:00

59 lines
2.0 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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 "🎉 Настройка завершена!"