Files
netrunner-landing/deploy.sh
T
2026-05-11 15:37:44 +07:00

49 lines
1.8 KiB
Bash
Executable File

#!/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 "✅ Деплой успешно завершен!"