#!/bin/bash # TeleBot Deployment Script with Tor # Ensures Telegram connectivity through Tor for privacy set -e echo "🤖 TeleBot Deployment to Hostinger VPS with Tor" echo "===============================================" # Configuration REMOTE_HOST="srv1002428.hstgr.cloud" REMOTE_USER="sysadmin" REMOTE_PORT="2255" SSH_KEY="/home/sysadmin/.claude/Knowledge/Infrastructure/vps_hardening_key" echo "📦 Preparing deployment files..." # Ensure files are ready if [ ! -f "Dockerfile.telebot" ]; then echo "❌ Dockerfile.telebot not found!" exit 1 fi if [ ! -f "docker-compose.telebot.yml" ]; then echo "❌ docker-compose.telebot.yml not found!" exit 1 fi echo "🔑 Connecting to Hostinger VPS..." # Use SSH key if available if [ -f "$SSH_KEY" ]; then SSH_CMD="ssh -p ${REMOTE_PORT} -i ${SSH_KEY} ${REMOTE_USER}@${REMOTE_HOST}" else echo "❌ SSH key not found at $SSH_KEY" exit 1 fi echo "🚀 Deploying TeleBot with Tor on server..." $SSH_CMD << 'REMOTE_SCRIPT' set -e echo "📁 Setting up TeleBot directory..." cd /opt/littleshop echo "🐳 Building TeleBot Docker image..." # Build using the telebot-specific Dockerfile sudo docker build -f Dockerfile.telebot -t telebot:latest . echo "🏷️ Tagging for registry..." sudo docker tag telebot:latest localhost:5000/telebot:latest echo "🔐 Logging into registry..." sudo docker login localhost:5000 -u admin -p Thefa1r1esd1d1t echo "📤 Pushing to registry..." sudo docker push localhost:5000/telebot:latest echo "📁 Creating data directories..." sudo mkdir -p /opt/telebot/data sudo mkdir -p /opt/telebot/logs sudo mkdir -p /opt/telebot/image_cache sudo chmod 755 /opt/telebot/data sudo chmod 755 /opt/telebot/logs sudo chmod 755 /opt/telebot/image_cache echo "🛑 Stopping existing containers if any..." sudo docker-compose -f docker-compose.telebot.yml down 2>/dev/null || true echo "🚀 Starting TeleBot with Tor..." sudo docker-compose -f docker-compose.telebot.yml up -d echo "⏳ Waiting for services to be healthy..." sleep 10 echo "📊 Checking deployment status..." echo "=== Container Status ===" sudo docker ps | grep -E "telebot|tor" || echo "No containers found" echo "" echo "=== Tor Connectivity Test ===" sudo docker exec telebot-tor curl --socks5 localhost:9050 https://check.torproject.org/api/ip 2>/dev/null | grep -o '"IsTor":[^,]*' || echo "Tor check failed" echo "" echo "=== TeleBot Logs (last 20 lines) ===" sudo docker logs telebot 2>&1 | tail -20 echo "" echo "✅ TeleBot deployment complete!" echo "================================" echo "🤖 Bot is running with Tor protection" echo "🔒 All Telegram traffic routed through Tor" echo "💾 Data stored at: /opt/telebot/data" echo "📝 Logs at: /opt/telebot/logs" echo "================================" REMOTE_SCRIPT echo "✅ Deployment script completed!"