#!/bin/bash

# Скрипт развертывания WireGuard на российском сервере ru.hunab.app

set -e

echo "=== Развертывание WireGuard на ru.hunab.app ==="
echo ""

# Параметры подключения
RU_SERVER="ahau@149.154.64.19"
RU_IP="149.154.64.19"

echo "1. Подключение к серверу $RU_SERVER..."
echo "   (Введите пароль: w99z2fBSkO4gU)"
echo ""

# Создание директорий
ssh $RU_SERVER << 'EOF'
set -e

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

echo ""
echo "3. Проверка существующих контейнеров..."
if docker ps -a | grep -q hunab-vpn-wireguard-ru; then
    echo "   ⚠️  Контейнер уже существует, останавливаем..."
    docker stop hunab-vpn-wireguard-ru 2>/dev/null || true
    docker rm hunab-vpn-wireguard-ru 2>/dev/null || true
fi

echo ""
echo "4. Запуск 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 "   ✅ Контейнер запущен"

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

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

echo ""
echo "7. Проверка статуса..."
docker ps | grep wireguard || echo "   ⚠️  Контейнер не найден в списке"

echo ""
echo "8. Конфигурация клиента:"
echo "---"
cat /opt/app/vpn/wireguard/config/peer1/peer1.conf 2>/dev/null || echo "   ⚠️  Конфигурация еще не создана, подождите еще 30 секунд"
echo "---"

EOF

echo ""
echo "✅ Развертывание завершено!"
echo ""
echo "Следующие шаги:"
echo "1. Скопируйте конфигурацию:"
echo "   scp $RU_SERVER:/opt/app/vpn/wireguard/config/peer1/peer1.conf docs/vpn/wg-ru.conf"
echo ""
echo "2. Или просмотрите конфигурацию:"
echo "   ssh $RU_SERVER 'cat /opt/app/vpn/wireguard/config/peer1/peer1.conf'"
