- Token: 8325588419:AAGghb0nosWG8g6QtYeghqUs0RHug06uG74 - Bot: @openclaw_habbit_tracker_bot - Updated deploy_habit_bot.sh - Verified bot connection working
82 lines
2.4 KiB
Bash
Executable File
82 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# =============================================================================
|
|
# Habit Bot Deployment Script
|
|
# Deploys habit_bot.py to Ubuntu server with systemd
|
|
# =============================================================================
|
|
|
|
set -e
|
|
|
|
# Configuration
|
|
SERVER="192.168.0.147"
|
|
USER="joungmin"
|
|
REMOTE_DIR="/home/joungmin/habit_bot"
|
|
SERVICE_NAME="habit-bot"
|
|
BOT_TOKEN="8325588419:AAGghb0nosWG8g6QtYeghqUs0RHug06uG74"
|
|
|
|
echo "🚀 Deploying Habit Bot to ${SERVER}..."
|
|
|
|
# 1. Create remote directory
|
|
echo "📁 Creating remote directory..."
|
|
ssh ${USER}@${SERVER} "mkdir -p ${REMOTE_DIR}"
|
|
|
|
# 2. Copy files
|
|
echo "📤 Copying files..."
|
|
scp habit_bot.py requirements.txt ${USER}@${SERVER}:${REMOTE_DIR}/
|
|
|
|
# 3. Create virtual environment
|
|
echo "🐍 Creating virtual environment..."
|
|
ssh ${USER}@${SERVER} "cd ${REMOTE_DIR} && python3 -m venv venv && source venv/bin/activate && pip install -q -r requirements.txt"
|
|
|
|
# 4. Create environment file
|
|
echo "🔐 Creating environment file..."
|
|
ssh ${USER}@${SERVER} "cat > ${REMOTE_DIR}/.env << 'EOF'
|
|
TELEGRAM_BOT_TOKEN=${BOT_TOKEN}
|
|
HABIT_DATA_DIR=/home/joungmin/habit_bot/data
|
|
EOF"
|
|
|
|
# 5. Create data directory
|
|
ssh ${USER}@${SERVER} "mkdir -p ${REMOTE_DIR}/data"
|
|
|
|
# 6. Create systemd service file
|
|
echo "📋 Creating systemd service..."
|
|
ssh ${USER}@${SERVER} "cat > /etc/systemd/system/${SERVICE_NAME}.service << 'EOF'
|
|
[Unit]
|
|
Description=OpenClaw Habit & Diet Telegram Bot
|
|
After=network.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=joungmin
|
|
WorkingDirectory=${REMOTE_DIR}
|
|
Environment="TELEGRAM_BOT_TOKEN=${BOT_TOKEN}"
|
|
Environment="HABIT_DATA_DIR=/home/joungmin/habit_bot/data"
|
|
ExecStart=${REMOTE_DIR}/venv/bin/python ${REMOTE_DIR}/habit_bot.py
|
|
Restart=always
|
|
RestartSec=10
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
EOF"
|
|
|
|
# 7. Reload systemd and start service
|
|
echo "🔄 Reloading systemd..."
|
|
ssh ${USER}@${SERVER} "systemctl daemon-reload"
|
|
|
|
echo "🚀 Starting ${SERVICE_NAME}..."
|
|
ssh ${USER}@${SERVER} "systemctl enable ${SERVICE_NAME} && systemctl start ${SERVICE_NAME}"
|
|
|
|
# 8. Verify
|
|
echo "✅ Verifying service..."
|
|
sleep 3
|
|
ssh ${USER}@${SERVER} "systemctl status ${SERVICE_NAME} --no-pager"
|
|
|
|
echo ""
|
|
echo "✅ Deployment complete!"
|
|
echo ""
|
|
echo "📋 Commands:"
|
|
echo " View logs: ssh ${USER}@${SERVER} 'journalctl -u ${SERVICE_NAME} -f'"
|
|
echo " Stop: ssh ${USER}@${SERVER} 'sudo systemctl stop ${SERVICE_NAME}'"
|
|
echo " Restart: ssh ${USER}@${SERVER} 'sudo systemctl restart ${SERVICE_NAME}'"
|
|
echo ""
|
|
echo "🤖 Bot: @openclaw_habbit_tracker_bot"
|