Files
Ultroid-fork/UBUNTU_DEPLOYMENT.md
Cursor User 7f1ba3cdc3 Add comprehensive Docker deployment with safety features
Features:
- Complete Ubuntu dependency resolution in requirements.txt
- Safe Docker deployment that preserves existing bash startup setups
- Isolated Docker environment (docker-ultroid/) with different ports
- Automatic detection of existing bot configurations
- Session generation scripts for Docker deployment
- Health check and diagnostic tools
- Comprehensive documentation and deployment guides

 Safety:
- Detects existing 'bash startup' method and creates isolated environment
- Uses different ports (8081) to avoid conflicts
- Separate volumes and configs for Docker deployment
- Both bash startup and Docker can run side by side
- No interference with existing bot setups

 Files added/updated:
- requirements.txt (all missing dependencies)
- Docker setup (Dockerfile, docker-compose.yml, .env.sample)
- Deployment scripts (ubuntu_setup.sh, docker-deploy.sh, quick-start.sh)
- Safety scripts (safe-docker-setup.sh with isolation logic)
- Management tools (Makefile, health_check.sh, generate-session.sh)
- Documentation (SAFE_DOCKER_GUIDE.md, DOCKER_DEPLOYMENT.md, etc.)

Ready for production Ubuntu server deployment!
2025-06-18 20:42:10 +02:00

5.1 KiB

Ultroid Ubuntu Server Deployment Guide

This guide helps you deploy Ultroid userbot on Ubuntu Server with all dependencies and plugins working correctly.

🚀 Quick Setup

Method 1: Automated Setup Script

# Clone the repository
git clone https://github.com/TeamUltroid/Ultroid.git
cd Ultroid

# Run the automated setup script
chmod +x ubuntu_setup.sh
./ubuntu_setup.sh

Method 2: Docker Deployment

# Build and run with Docker
docker build -t ultroid .
docker run -d --name ultroid-bot ultroid

Method 3: Manual Installation

1. System Dependencies

sudo apt update && sudo apt upgrade -y
sudo apt install -y python3 python3-pip python3-venv git wget curl unzip ffmpeg mediainfo nodejs npm build-essential python3-dev libffi-dev libssl-dev libjpeg-dev libpng-dev libwebp-dev libopenjp2-7-dev libtiff5-dev libfreetype6-dev liblcms2-dev libxml2-dev libxslt1-dev zlib1g-dev libmagic1

2. Python Environment

python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip setuptools wheel
pip install -r requirements.txt

3. Configuration

# Copy example config
cp config.py.example config.py

# Edit configuration
nano config.py

📋 Required Dependencies

All required Python packages are listed in requirements.txt. The setup script automatically installs:

Core Dependencies

  • telethon
  • gitpython
  • python-decouple
  • python-dotenv
  • telegraph
  • enhancer
  • requests
  • aiohttp
  • catbox-uploader
  • cloudscraper

Plugin Dependencies

  • beautifulsoup4 (web scraping)
  • opencv-python (image/video processing)
  • pillow (image manipulation)
  • pytz (timezone handling)
  • pygments (syntax highlighting)
  • youtube-dl, yt-dlp (video downloading)
  • qrcode (QR code generation)
  • matplotlib, numpy, scipy (data visualization)
  • selenium (web automation)
  • And 40+ more specialized packages

🔧 Configuration

1. Bot Credentials

Add your credentials to config.py:

API_ID = your_api_id
API_HASH = "your_api_hash"
BOT_TOKEN = "your_bot_token"

2. Google Drive Setup (Optional)

  1. Go to Google Cloud Console
  2. Create a project and enable Google Drive API
  3. Download credentials.json
  4. Place it in the Ultroid root directory

3. Database (Optional)

Configure Redis or MongoDB for enhanced features:

REDIS_URI = "redis://localhost:6379"
DATABASE_URL = "mongodb://localhost:27017/ultroid"

🎯 Running the Bot

Development Mode

source venv/bin/activate
python3 -m pyUltroid

Production Mode (systemd service)

# Copy service file
sudo cp ultroid.service /etc/systemd/system/

# Enable and start service
sudo systemctl enable ultroid
sudo systemctl start ultroid

# Check status
sudo systemctl status ultroid

Docker Mode

docker run -d \
  --name ultroid-bot \
  -v $(pwd)/config.py:/app/config.py \
  -v $(pwd)/credentials.json:/app/credentials.json \
  ultroid

🔍 Troubleshooting

Common Issues

1. Import Errors

Most plugins fail with "attempted relative import" because they need to be imported as modules:

# Run from project root
python3 -m pyUltroid

2. Missing Dependencies

# Install missing packages
pip install package_name

# Or reinstall all requirements
pip install -r requirements.txt --force-reinstall

3. Google Drive Issues

  • Ensure credentials.json is in the root directory
  • Run the bot once to generate token.json
  • Check Google Cloud Console for API quotas

4. Permission Errors

chmod +x startup sessiongen installer.sh

5. FFmpeg Issues

sudo apt install ffmpeg mediainfo

Plugin Health Check

Use the built-in diagnostic tool:

python3 diagnose_plugins.py

This will:

  • Test all plugins for import errors
  • Check for missing dependencies
  • Generate a fix script
  • Test Google Drive functionality

📊 Monitoring

View Logs

# Service logs
sudo journalctl -u ultroid -f

# Manual logs
tail -f logs/ultroid.log

Performance Monitoring

# Check resource usage
htop
docker stats ultroid-bot  # if using Docker

🛡️ Security

File Permissions

chmod 600 config.py credentials.json
chmod 755 *.sh

Firewall (if needed)

sudo ufw allow ssh
sudo ufw enable

🔄 Updates

Manual Update

git pull origin main
pip install -r requirements.txt --upgrade
sudo systemctl restart ultroid  # if using systemd

Auto-Update (Optional)

Add to crontab:

0 6 * * * cd /path/to/Ultroid && git pull && pip install -r requirements.txt --upgrade && systemctl restart ultroid

📞 Support

🎉 Success Indicators

Your bot is working correctly when:

  • No import errors in logs
  • Google Drive commands work (if configured)
  • Media processing plugins work
  • All dependencies installed successfully
  • Bot responds to commands

Happy hosting! 🚀