diff --git a/install.sh b/install.sh deleted file mode 100644 index 68a5ede..0000000 --- a/install.sh +++ /dev/null @@ -1,136 +0,0 @@ -#!/usr/bin/env bash -# ------------------------------------------------------------------------------ -# Installer for PVESciptslocal with systemd integration -# ------------------------------------------------------------------------------ - - -# --- Core --------------------------------------------------------------------- -RD=$(echo -e "\033[01;31m") -GN=$(echo -e "\033[1;92m") -YW=$(echo -e "\033[33m") -CL=$(echo -e "\033[m") - -msg_info() { echo -e "⏳ $YW$1$CL"; } -msg_ok() { echo -e "✔️ $GN$1$CL"; } -msg_err() { echo -e "❌ $RD$1$CL"; } - - - -# --- Dependency Check & Install ----------------------------------------------- -check_dependencies() { - msg_info "Checking required packages (build-essential, git)..." - apt-get update - apt-get install -y build-essential git sshpass expect - msg_ok "Dependencies installed." -} - -check_nodejs() { - if ! command -v node >/dev/null 2>&1; then - msg_info "Node.js not found, installing Node.js 24.x..." - curl -fsSL https://deb.nodesource.com/setup_24.x | bash - - apt-get install -y nodejs - msg_ok "Node.js installed: $(node -v)" - else - msg_ok "Node.js already available: $(node -v)" - fi -} - -# --- Repository Handling ------------------------------------------------------ -clone_or_update_repo() { - read -rp "Installation directory [default: /opt/PVESciptslocal]: " INSTALL_DIR - INSTALL_DIR=${INSTALL_DIR:-/opt/PVESciptslocal} - - if [ ! -d "$INSTALL_DIR/.git" ]; then - msg_info "Cloning repository into $INSTALL_DIR..." - git clone https://github.com/michelroegl-brunner/PVESciptslocal.git "$INSTALL_DIR" - msg_ok "Repository cloned." - else - msg_info "Directory already exists. Pulling latest changes..." - git -C "$INSTALL_DIR" pull - msg_ok "Repository updated." - fi - - cd "$INSTALL_DIR" -} - -# --- Application Setup -------------------------------------------------------- -setup_app() { - msg_info "Installing npm dependencies..." - npm install - msg_ok "Dependencies installed." - - if [ ! -f .env ]; then - msg_info "Creating environment file from example..." - cp .env.example .env - msg_ok ".env file created." - else - msg_ok ".env file already exists, keeping it." - fi - - msg_info "Setting up database directory..." - mkdir -p data - chmod 755 data - msg_ok "Database directory created." - - msg_info "Building application..." - npm run build - msg_ok "Build completed." -} - -# --- Systemd Service ---------------------------------------------------------- -setup_systemd_service() { - SERVICE_NAME="pvescriptslocal" - SERVICE_FILE="/etc/systemd/system/${SERVICE_NAME}.service" - - msg_info "Creating systemd service at $SERVICE_FILE..." - cat > "$SERVICE_FILE" <:3000" - echo "---------------------------------------------" -} - -# --- Main --------------------------------------------------------------------- -main() { - check_pve - check_dependencies - check_nodejs - clone_or_update_repo - setup_app - setup_systemd_service -} - -main "$@" -