Files
ewoooc/deploy_scripts/setup_service.sh
ogt 1b4f3a7bbe
Some checks failed
CD Pipeline / deploy (push) Failing after 59s
feat: EwoooC 初始化 — 完整專案推版至 Gitea
- 建立 Gitea Actions CD pipeline (.gitea/workflows/cd.yaml)
- 部署模式: rsync Python 檔案至 188 → docker restart (volume mount)
- Dockerfile/requirements 變動時自動重建 Docker image
- 部署通知: Telegram (開始/成功/失敗)
- 健康檢查: https://mo.wooo.work/health (最多 5 次重試)
- 同步最新 CLAUDE.md / ADR-008 / memory (2026-04-19)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 01:21:13 +08:00

74 lines
1.7 KiB
Bash

#!/bin/bash
# setup_service.sh - 設定 systemd 服務(需要 sudo 權限)
set -e
USER_NAME=$(whoami)
APP_DIR="$HOME/momo_pro_system"
echo "=========================================="
echo "設定 systemd 服務"
echo "=========================================="
# 建立主服務檔案
echo "📝 建立 momo.service..."
sudo tee /etc/systemd/system/momo.service > /dev/null <<EOF
[Unit]
Description=Momo Pro System - Flask Application
After=network.target
[Service]
Type=simple
User=$USER_NAME
WorkingDirectory=$APP_DIR
Environment="PATH=$APP_DIR/venv/bin"
ExecStart=$APP_DIR/venv/bin/python app.py
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
EOF
# 建立排程服務檔案
echo "📝 建立 momo-scheduler.service..."
sudo tee /etc/systemd/system/momo-scheduler.service > /dev/null <<EOF
[Unit]
Description=Momo Pro System - Scheduler
After=network.target
[Service]
Type=simple
User=$USER_NAME
WorkingDirectory=$APP_DIR
Environment="PATH=$APP_DIR/venv/bin"
ExecStart=$APP_DIR/venv/bin/python scheduler.py
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
EOF
# 重新載入 systemd
echo "🔄 重新載入 systemd..."
sudo systemctl daemon-reload
# 啟用服務
echo "✅ 啟用服務..."
sudo systemctl enable momo
sudo systemctl enable momo-scheduler
echo ""
echo "✅ 服務設定完成!"
echo ""
echo "可以使用以下指令:"
echo " 啟動服務: sudo systemctl start momo"
echo " 查看狀態: sudo systemctl status momo"
echo " 查看日誌: sudo journalctl -u momo -f"
echo " 重啟服務: sudo systemctl restart momo"