added install script and uninstall script
This commit is contained in:
+49
@@ -0,0 +1,49 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
REPO_URL="https://github.com/orus-dev/sentryx.git"
|
||||
INSTALL_DIR="$HOME/sentryx" # expanded
|
||||
SERVICE_NAME="sentryx"
|
||||
SERVICE_FILE="/etc/systemd/system/$SERVICE_NAME.service"
|
||||
NODE_BIN="$(which node)"
|
||||
RUN_USER="$(whoami)" # change if needed
|
||||
|
||||
# Backup if exists
|
||||
if [ -d "$INSTALL_DIR" ]; then
|
||||
echo "Sentryx already exists, backing up..."
|
||||
rm -rf "$INSTALL_DIR-backup"
|
||||
mv "$INSTALL_DIR" "$INSTALL_DIR-backup"
|
||||
fi
|
||||
|
||||
# Clone as current user
|
||||
git clone "$REPO_URL" "$INSTALL_DIR"
|
||||
|
||||
# Build as current user inside INSTALL_DIR
|
||||
cd $INSTALL_DIR
|
||||
npm install
|
||||
npm run build
|
||||
|
||||
# Create systemd service file with absolute ExecStart path
|
||||
echo "Creating systemd service..."
|
||||
sudo tee "$SERVICE_FILE" > /dev/null <<EOF
|
||||
[Unit]
|
||||
Description=SentryX Server
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=$RUN_USER
|
||||
WorkingDirectory=$INSTALL_DIR
|
||||
ExecStart=$NODE_BIN "$INSTALL_DIR/node_modules/.bin/next" start
|
||||
Restart=on-failure
|
||||
Environment=NODE_ENV=production
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
# Reload systemd and enable service
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable --now "$SERVICE_NAME.service"
|
||||
|
||||
echo "Done! Check service with: sudo systemctl status $SERVICE_NAME"
|
||||
Reference in New Issue
Block a user