Add OpenWebUI bot integration for channels feature
This commit is contained in:
Executable
+130
@@ -0,0 +1,130 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Script to deploy the OpenWebUI bot on the server
|
||||
|
||||
# Set the server details
|
||||
SERVER_IP="104.225.217.215"
|
||||
SERVER_USER="root"
|
||||
DEPLOY_DIR="/root/openwebui"
|
||||
|
||||
# Create a temporary directory for deployment files
|
||||
TEMP_DIR=$(mktemp -d)
|
||||
echo "Created temporary directory: $TEMP_DIR"
|
||||
|
||||
# Copy the necessary files to the temporary directory
|
||||
echo "Copying files to temporary directory..."
|
||||
cp -r openwebui-bot $TEMP_DIR/
|
||||
cp run_openwebui_bot.py $TEMP_DIR/
|
||||
|
||||
# Create a .env file for the bot
|
||||
echo "Creating .env file..."
|
||||
cat > $TEMP_DIR/openwebui-bot/.env << EOF
|
||||
WEBUI_URL=http://104.225.217.215:8080
|
||||
TOKEN=GdCU4ieYDqHsLfH2
|
||||
MODEL_ID=llama3.1
|
||||
EOF
|
||||
|
||||
# Create a systemd service file for the bot
|
||||
echo "Creating systemd service file..."
|
||||
cat > $TEMP_DIR/openwebui-bot.service << EOF
|
||||
[Unit]
|
||||
Description=OpenWebUI Bot Service
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=root
|
||||
WorkingDirectory=$DEPLOY_DIR
|
||||
ExecStart=/usr/bin/python3 $DEPLOY_DIR/run_openwebui_bot.py
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
# Create a deployment script
|
||||
echo "Creating deployment script..."
|
||||
cat > $TEMP_DIR/deploy.sh << EOF
|
||||
#!/bin/bash
|
||||
|
||||
# Install required packages
|
||||
pip install python-socketio aiohttp python-dotenv
|
||||
|
||||
# Copy the bot files to the deployment directory
|
||||
mkdir -p $DEPLOY_DIR
|
||||
cp -r openwebui-bot $DEPLOY_DIR/
|
||||
cp run_openwebui_bot.py $DEPLOY_DIR/
|
||||
|
||||
# Set up the systemd service
|
||||
cp openwebui-bot.service /etc/systemd/system/
|
||||
systemctl daemon-reload
|
||||
systemctl enable openwebui-bot.service
|
||||
systemctl start openwebui-bot.service
|
||||
|
||||
echo "Bot deployed and started!"
|
||||
echo "To check the status: systemctl status openwebui-bot.service"
|
||||
echo "To view logs: journalctl -u openwebui-bot.service -f"
|
||||
EOF
|
||||
|
||||
# Make the deployment script executable
|
||||
chmod +x $TEMP_DIR/deploy.sh
|
||||
|
||||
# Create a README file
|
||||
echo "Creating README file..."
|
||||
cat > $TEMP_DIR/README.md << EOF
|
||||
# OpenWebUI Bot Deployment
|
||||
|
||||
This package contains the OpenWebUI bot for channels integration.
|
||||
|
||||
## Files
|
||||
|
||||
- \`openwebui-bot/\`: The bot code
|
||||
- \`run_openwebui_bot.py\`: Script to run the bot
|
||||
- \`openwebui-bot.service\`: Systemd service file
|
||||
- \`deploy.sh\`: Deployment script
|
||||
|
||||
## Deployment
|
||||
|
||||
1. Run the deployment script:
|
||||
\`\`\`
|
||||
./deploy.sh
|
||||
\`\`\`
|
||||
|
||||
2. Check the status of the bot:
|
||||
\`\`\`
|
||||
systemctl status openwebui-bot.service
|
||||
\`\`\`
|
||||
|
||||
3. View the logs:
|
||||
\`\`\`
|
||||
journalctl -u openwebui-bot.service -f
|
||||
\`\`\`
|
||||
|
||||
## Configuration
|
||||
|
||||
The bot is configured using the \`.env\` file in the \`openwebui-bot\` directory.
|
||||
EOF
|
||||
|
||||
# Create a tar archive of the deployment files
|
||||
echo "Creating tar archive..."
|
||||
cd $TEMP_DIR
|
||||
tar -czf openwebui-bot-deploy.tar.gz *
|
||||
cd -
|
||||
|
||||
# Copy the tar archive to the current directory
|
||||
cp $TEMP_DIR/openwebui-bot-deploy.tar.gz .
|
||||
|
||||
echo "Deployment package created: openwebui-bot-deploy.tar.gz"
|
||||
echo "To deploy on the server:"
|
||||
echo "1. Copy the package to the server:"
|
||||
echo " scp openwebui-bot-deploy.tar.gz $SERVER_USER@$SERVER_IP:~/"
|
||||
echo "2. SSH into the server:"
|
||||
echo " ssh $SERVER_USER@$SERVER_IP"
|
||||
echo "3. Extract the package:"
|
||||
echo " mkdir -p bot-deploy && tar -xzf openwebui-bot-deploy.tar.gz -C bot-deploy"
|
||||
echo "4. Run the deployment script:"
|
||||
echo " cd bot-deploy && ./deploy.sh"
|
||||
|
||||
# Clean up
|
||||
rm -rf $TEMP_DIR
|
||||
Reference in New Issue
Block a user