littleshop/deploy-telebot.sh
SysAdmin 5210b5b70c Add TeleBot deployment with Tor integration
- 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>
2025-09-24 14:05:11 +01:00

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!"