Files
openclaw-workspace/deploy_habit_bot.sh
Joungmin e7d88a0ef1 Update: Habit bot token configured
- Token: 8325588419:AAGghb0nosWG8g6QtYeghqUs0RHug06uG74
- Bot: @openclaw_habbit_tracker_bot
- Updated deploy_habit_bot.sh
- Verified bot connection working
2026-02-19 03:51:26 +09:00

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"