Files
2026-04-20 20:59:51 +07:00

109 lines
3.1 KiB
Bash

#!/bin/bash
# Script cài đặt LiteRT-LM systemd service cho Linux
echo "========================================"
echo " Cài đặt LiteRT-LM Service"
echo "========================================"
echo
# Lấy thông tin user và đường dẫn hiện tại
CURRENT_USER=$(whoami)
CURRENT_DIR=$(pwd)
PYTHON_PATH=$(which python3)
# Kiểm tra quyền sudo
if [ "$EUID" -ne 0 ]; then
echo "[ERROR] Vui lòng chạy script với sudo:"
echo " sudo bash install_service.sh"
exit 1
fi
# Hỏi cấu hình
echo "Cấu hình service:"
echo
# Port
read -p "Port (mặc định 8000): " SERVICE_PORT
SERVICE_PORT=${SERVICE_PORT:-8000}
# Model path (tùy chọn)
read -p "Đường dẫn model (Enter để chọn từ menu khi khởi động): " MODEL_PATH
if [ -n "$MODEL_PATH" ]; then
MODEL_ARG="--model $MODEL_PATH"
else
MODEL_ARG=""
fi
# Tạo file config model mặc định nếu chưa có và không dùng custom model
if [ -z "$MODEL_PATH" ] && [ ! -f "service_config.txt" ]; then
echo "1" > service_config.txt
chown $SUDO_USER:$SUDO_USER service_config.txt
echo "[✓] Đã tạo service_config.txt với model mặc định: 1"
fi
# Tạo file service từ template
echo
echo "[1/4] Tạo file systemd service..."
cat > /tmp/litert-lm.service << EOF
[Unit]
Description=LiteRT-LM Server Service
After=network.target
[Service]
Type=simple
User=$SUDO_USER
WorkingDirectory=$CURRENT_DIR
Environment="PATH=/usr/bin:/usr/local/bin:$HOME/.local/bin"
ExecStart=$PYTHON_PATH $CURRENT_DIR/server.py --port $SERVICE_PORT $MODEL_ARG
StandardInput=file:$CURRENT_DIR/service_config.txt
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
# Copy file service vào systemd
echo "[2/4] Cài đặt service vào systemd..."
cp /tmp/litert-lm.service /etc/systemd/system/litert-lm.service
chmod 644 /etc/systemd/system/litert-lm.service
# Reload systemd
echo "[3/4] Reload systemd daemon..."
systemctl daemon-reload
# Enable và start service
echo "[4/4] Kích hoạt và khởi động service..."
systemctl enable litert-lm.service
systemctl start litert-lm.service
echo
echo "========================================"
echo " Cài đặt thành công!"
echo "========================================"
echo
echo "Service đã được cài đặt và khởi động."
echo "Server sẽ tự động chạy khi khởi động hệ thống."
echo
echo "Cấu hình:"
echo " - Port: $SERVICE_PORT"
if [ -n "$MODEL_PATH" ]; then
echo " - Model: $MODEL_PATH"
else
echo " - Model: Chọn từ menu (xem service_config.txt)"
fi
echo
echo "Các lệnh quản lý:"
echo " - Xem trạng thái: sudo systemctl status litert-lm"
echo " - Dừng service: sudo systemctl stop litert-lm"
echo " - Khởi động service: sudo systemctl start litert-lm"
echo " - Khởi động lại: sudo systemctl restart litert-lm"
echo " - Xem logs: sudo journalctl -u litert-lm -f"
echo " - Gỡ cài đặt: sudo bash uninstall_service.sh"
echo
echo "Server đang chạy tại: http://localhost:$SERVICE_PORT"
echo
# Hiển thị trạng thái
systemctl status litert-lm.service --no-pager