- Created docker-compose.telebot.yml with Tor proxy - Added deployment script for automated setup - Configured Telegram traffic routing through Tor - Integrated with LittleShop API via Docker network 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
98 lines
2.8 KiB
Bash
98 lines
2.8 KiB
Bash
#!/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!" |