Update: Habit bot token configured
- Token: 8325588419:AAGghb0nosWG8g6QtYeghqUs0RHug06uG74 - Bot: @openclaw_habbit_tracker_bot - Updated deploy_habit_bot.sh - Verified bot connection working
This commit is contained in:
95
deploy_habit_bot.sh
Normal file → Executable file
95
deploy_habit_bot.sh
Normal file → Executable file
@@ -1,62 +1,81 @@
|
||||
#!/bin/bash
|
||||
# Deploy Habit & Diet Bot to Ubuntu
|
||||
# Run on 192.168.0.147
|
||||
# =============================================================================
|
||||
# Habit Bot Deployment Script
|
||||
# Deploys habit_bot.py to Ubuntu server with systemd
|
||||
# =============================================================================
|
||||
|
||||
set -e
|
||||
|
||||
APP_DIR="/home/joungmin/habit_bot"
|
||||
VENV_DIR="$APP_DIR/venv"
|
||||
# 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 & Diet Bot..."
|
||||
echo "🚀 Deploying Habit Bot to ${SERVER}..."
|
||||
|
||||
# Create directory
|
||||
mkdir -p $APP_DIR
|
||||
cd $APP_DIR
|
||||
# 1. Create remote directory
|
||||
echo "📁 Creating remote directory..."
|
||||
ssh ${USER}@${SERVER} "mkdir -p ${REMOTE_DIR}"
|
||||
|
||||
# Copy files
|
||||
echo "Copying files..."
|
||||
# Copy from Mac mini (run this on Mac):
|
||||
# scp -r habit_bot.py habit_bot_requirements.txt deploy_habit_bot.sh joungmin@192.168.0.147:$APP_DIR/
|
||||
# 2. Copy files
|
||||
echo "📤 Copying files..."
|
||||
scp habit_bot.py requirements.txt ${USER}@${SERVER}:${REMOTE_DIR}/
|
||||
|
||||
# Create virtual environment
|
||||
if [ ! -d "$VENV_DIR" ]; then
|
||||
python3 -m venv $VENV_DIR
|
||||
fi
|
||||
# 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"
|
||||
|
||||
# Install dependencies
|
||||
source $VENV_DIR/bin/activate
|
||||
pip install -q -r $APP_DIR/habit_bot_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"
|
||||
|
||||
# Create systemd service
|
||||
cat > /tmp/habit-bot.service << '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=Habit & Diet Telegram Bot
|
||||
Description=OpenClaw Habit & Diet Telegram Bot
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=joungmin
|
||||
WorkingDirectory=/home/joungmin/habit_bot
|
||||
Environment="PATH=/home/joungmin/habit_bot/venv/bin"
|
||||
Environment="TELEGRAM_BOT_TOKEN=your_token_here"
|
||||
Environment="OBSIDIAN_PATH=/Users/joungmin/Documents/Obsidian Vault"
|
||||
Environment="ORACLE_DSN=h8i4i0g8cxtd2lpf_high"
|
||||
Environment="ORACLE_USER=admin"
|
||||
Environment="ORACLE_PASSWORD=your_password"
|
||||
Environment="ORACLE_WALLET=/path/to/wallet"
|
||||
ExecStart=/home/joungmin/habit_bot/venv/bin/python3 /home/joungmin/habit_bot/habit_bot.py
|
||||
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
|
||||
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 "To start:"
|
||||
echo " 1. Set TELEGRAM_BOT_TOKEN in /tmp/habit-bot.service"
|
||||
echo " 2. sudo cp /tmp/habit-bot.service /etc/systemd/system/"
|
||||
echo " 3. sudo systemctl daemon-reload"
|
||||
echo " 4. sudo systemctl start habit-bot"
|
||||
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 URL: http://localhost:3000/joungmin/openclaw-workspace"
|
||||
echo "🤖 Bot: @openclaw_habbit_tracker_bot"
|
||||
|
||||
Reference in New Issue
Block a user