#!/bin/bash
# Быстрое развертывание WireGuard на 149.154.64.19
# Использование: ./docs/vpn/deploy-now.sh

set -e

SERVER="ahau@149.154.64.19"
PASSWORD="w99z2fBSkO4gU"

echo "🚀 Развертывание WireGuard на ru.hunab.app (149.154.64.19)"
echo "📝 Пароль: $PASSWORD"
echo ""

echo "Выполняю команду на сервере..."
echo "Пожалуйста, введите пароль когда потребуется: $PASSWORD"
echo ""

ssh $SERVER << 'EOF'
set -e

echo "1. Создание директорий..."
sudo mkdir -p /opt/app/vpn/wireguard/config
sudo chown -R ahau:ahau /opt/app/vpn

echo "2. Остановка старых контейнеров..."
docker stop hunab-vpn-wireguard-ru 2>/dev/null || true
docker rm hunab-vpn-wireguard-ru 2>/dev/null || true

echo "3. Запуск WireGuard..."
cd /opt/app/vpn/wireguard
docker run -d \
  --name hunab-vpn-wireguard-ru \
  --cap-add=NET_ADMIN \
  --cap-add=SYS_MODULE \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Europe/Moscow \
  -e SERVERURL=149.154.64.19 \
  -e SERVERPORT=51820 \
  -e PEERS=1 \
  -e PEERDNS=8.8.8.8 \
  -e INTERNAL_SUBNET=10.14.14.0 \
  -v /opt/app/vpn/wireguard/config:/config \
  -p 51820:51820/udp \
  --sysctl="net.ipv4.conf.all.src_valid_mark=1" \
  --restart unless-stopped \
  linuxserver/wireguard:latest

echo "4. Ожидание создания конфигурации (45 секунд)..."
sleep 45

echo "5. Настройка Firewall..."
sudo ufw allow 51820/udp comment 'WireGuard VPN RU' 2>/dev/null || true
sudo ufw reload 2>/dev/null || true

echo ""
echo "✅ Развертывание завершено!"
echo ""
echo "=== КОНФИГУРАЦИЯ КЛИЕНТА ==="
cat /opt/app/vpn/wireguard/config/peer1/peer1.conf
echo "==========================="
EOF

echo ""
echo "📥 Теперь получаю конфигурацию..."
scp $SERVER:/opt/app/vpn/wireguard/config/peer1/peer1.conf docs/vpn/RuVPN.conf

if [ -f docs/vpn/RuVPN.conf ]; then
    echo ""
    echo "✅ Конфигурация сохранена в docs/vpn/RuVPN.conf"
    echo ""
    echo "📱 Импортируйте файл RuVPN.conf в WireGuard на телефоне!"
    echo ""
    cat docs/vpn/RuVPN.conf
else
    echo ""
    echo "⚠️  Не удалось скопировать конфигурацию автоматически"
    echo "Выполните вручную:"
    echo "  scp $SERVER:/opt/app/vpn/wireguard/config/peer1/peer1.conf docs/vpn/RuVPN.conf"
fi



