#!/bin/bash # Останавливаем скрипт при любой ошибке set -e # Твои переменные VPS_IP="77.110.106.113" VPS_USER="root" FRONTEND_TAG="ghcr.io/nineap/netrunner-landing:latest" PROXY_TAG="ghcr.io/nineap/netrunner-landing-proxy:latest" # Опции SSH/SCP для работы без зависаний (не будут ждать ручного ввода) SSH_OPTS="-o BatchMode=yes -o StrictHostKeyChecking=accept-new" echo "🚀 Запуск локальной сборки Netrunner..." # 1. Сборка и пуш Фронтенда (Next.js) # Добавлен --progress=plain, чтобы видеть детальный лог компиляции WASM echo "📦 Билд Next.js..." docker build --progress=plain -t $FRONTEND_TAG . echo "☁️ Пуш Next.js в GHCR..." docker push $FRONTEND_TAG # 2. Сборка и пуш Прокси (Rust) echo "🦀 Билд Rust Proxy (готовь кулеры)..." docker build --progress=plain -t $PROXY_TAG ./proxy-ws echo "☁️ Пуш Rust Proxy в GHCR..." docker push $PROXY_TAG # 3. Синхронизация docker-compose echo "📄 Копирование docker-compose.yml на сервер..." scp $SSH_OPTS docker-compose.yml $VPS_USER@$VPS_IP:/root/netrunner-frontend/docker-compose.yml # 4. Выполнение команд на VPS по SSH echo "⚙️ Обновление контейнеров на VPS..." ssh $SSH_OPTS $VPS_USER@$VPS_IP << EOF cd /root/netrunner-frontend echo "Тянем свежие образы..." docker compose pull echo "Перезапускаем сервисы..." docker compose up -d --force-recreate --remove-orphans echo "Чистим старый мусор..." docker image prune -f EOF echo "✅ Деплой успешно завершен!"