84 lines
2.5 KiB
Bash
84 lines
2.5 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
|
|
|
|
# Tạo file config model mặc định nếu chưa có
|
|
if [ ! -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 "[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
|
|
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á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:8000"
|
|
echo
|
|
|
|
# Hiển thị trạng thái
|
|
systemctl status litert-lm.service --no-pager
|