Add server-side TeleBot deployment script for manual execution
This commit is contained in:
parent
162400b987
commit
02994d45a7
115
telebot-server-deploy.sh
Normal file
115
telebot-server-deploy.sh
Normal file
@ -0,0 +1,115 @@
|
||||
#!/bin/bash
|
||||
# Run this script ON THE HOSTINGER SERVER after pulling latest code
|
||||
# This builds TeleBot from source and deploys it with latest fixes
|
||||
|
||||
set -e
|
||||
|
||||
echo "🚀 TeleBot Server-Side Deployment Script"
|
||||
echo "========================================="
|
||||
|
||||
# Navigate to deployment directory
|
||||
cd /opt
|
||||
echo "📁 Working directory: $(pwd)"
|
||||
|
||||
# Clone or update repository
|
||||
if [ -d "LittleShop" ]; then
|
||||
echo "📦 Updating existing repository..."
|
||||
cd LittleShop
|
||||
git pull origin main
|
||||
else
|
||||
echo "📦 Cloning repository..."
|
||||
git clone https://git.silverlabs.uk/SilverLABS/LittleShop.git
|
||||
cd LittleShop
|
||||
fi
|
||||
|
||||
echo "✅ Repository updated"
|
||||
git log --oneline -5
|
||||
|
||||
# Stop and remove existing TeleBot container
|
||||
echo "🛑 Stopping existing TeleBot container..."
|
||||
docker stop telebot 2>/dev/null || echo "No existing container to stop"
|
||||
docker rm telebot 2>/dev/null || echo "No existing container to remove"
|
||||
|
||||
# Remove old TeleBot image to force rebuild
|
||||
echo "🗑️ Removing old TeleBot image..."
|
||||
docker rmi telebot:latest 2>/dev/null || echo "No existing image to remove"
|
||||
|
||||
# Build new image from source
|
||||
echo "🔨 Building TeleBot from source code..."
|
||||
echo "This will include all latest fixes including:"
|
||||
echo " - Fixed duplicate /review case"
|
||||
echo " - TeleBot compilation error fixes"
|
||||
echo " - Improved shipping address collection"
|
||||
echo " - Network connectivity improvements"
|
||||
|
||||
docker build -t telebot:latest -f TeleBot/TeleBot/Dockerfile .
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ Docker image built successfully"
|
||||
else
|
||||
echo "❌ Docker build failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Create necessary directories
|
||||
echo "📁 Creating data directories..."
|
||||
mkdir -p /opt/telebot/logs
|
||||
mkdir -p /opt/telebot/data
|
||||
mkdir -p /opt/telebot/image_cache
|
||||
|
||||
# Set proper permissions (assuming container user is UID 1001)
|
||||
chown -R 1001:1001 /opt/telebot/logs
|
||||
chown -R 1001:1001 /opt/telebot/data
|
||||
chown -R 1001:1001 /opt/telebot/image_cache
|
||||
|
||||
# Create .env file for TeleBot
|
||||
echo "📝 Creating environment configuration..."
|
||||
cat > /opt/telebot/.env << 'EOF'
|
||||
# TeleBot Production Configuration
|
||||
BOT_TOKEN=7569267607:AAFcXs3qeHqr_KKiGSb2EShJJLznNBXRfB8
|
||||
WEBHOOK_URL=https://telebot.thebankofdebbie.giize.com/api/telegram/webhook
|
||||
LITTLESHOP_API_KEY=your-api-key-here
|
||||
DATABASE_CONNECTION_STRING=Data Source=/app/data/telebot.db
|
||||
LOG_LEVEL=Information
|
||||
EOF
|
||||
|
||||
# Run the new container
|
||||
echo "🚀 Starting TeleBot container..."
|
||||
docker run -d \
|
||||
--name telebot \
|
||||
--restart unless-stopped \
|
||||
--network littleshop-network \
|
||||
--env-file /opt/telebot/.env \
|
||||
-e ASPNETCORE_ENVIRONMENT=Production \
|
||||
-e LittleShopApi__BaseUrl=http://littleshop-admin:8080 \
|
||||
-e TelegramBot__UseWebhook=false \
|
||||
-e Logging__LogLevel__Default=Information \
|
||||
-e Logging__LogLevel__Microsoft=Warning \
|
||||
-v /opt/telebot/logs:/app/logs \
|
||||
-v /opt/telebot/data:/app/data \
|
||||
-v /opt/telebot/image_cache:/app/image_cache \
|
||||
telebot:latest
|
||||
|
||||
# Wait for container to start
|
||||
echo "⏳ Waiting for container to start..."
|
||||
sleep 10
|
||||
|
||||
# Check container status
|
||||
echo "📊 Container status:"
|
||||
docker ps | grep telebot || echo "Container not running!"
|
||||
|
||||
echo ""
|
||||
echo "📋 Container logs (last 30 lines):"
|
||||
docker logs --tail 30 telebot
|
||||
|
||||
echo ""
|
||||
echo "✅ Deployment complete!"
|
||||
echo ""
|
||||
echo "To monitor the bot:"
|
||||
echo " docker logs -f telebot"
|
||||
echo ""
|
||||
echo "To check status:"
|
||||
echo " docker ps | grep telebot"
|
||||
echo ""
|
||||
echo "Latest commits included:"
|
||||
git log --oneline -5
|
||||
Loading…
Reference in New Issue
Block a user