49 lines
1.8 KiB
Bash
Executable File
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 "✅ Деплой успешно завершен!" |