transmission-rss-manager/modules/dependencies-module.sh

61 lines
1.9 KiB
Bash

#!/bin/bash
# Dependencies module for Transmission RSS Manager Installation
function install_dependencies() {
echo -e "${YELLOW}Installing dependencies...${NC}"
# Update package index
apt-get update
# Install Node.js and npm if not already installed
if ! command_exists node; then
echo "Installing Node.js and npm..."
apt-get install -y ca-certificates curl gnupg
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x nodistro main" > /etc/apt/sources.list.d/nodesource.list
apt-get update
apt-get install -y nodejs
else
echo "Node.js is already installed."
fi
# Install additional dependencies
echo "Installing additional dependencies..."
apt-get install -y unrar unzip p7zip-full nginx
# Check if all dependencies were installed successfully
local dependencies=("node" "npm" "unrar" "unzip" "7z" "nginx")
local missing_deps=()
for dep in "${dependencies[@]}"; do
if ! command_exists "$dep"; then
missing_deps+=("$dep")
fi
done
if [ ${#missing_deps[@]} -eq 0 ]; then
echo -e "${GREEN}All dependencies installed successfully.${NC}"
else
echo -e "${RED}Failed to install some dependencies: ${missing_deps[*]}${NC}"
echo -e "${YELLOW}Please install them manually and rerun this script.${NC}"
exit 1
fi
}
function create_directories() {
echo -e "${YELLOW}Creating installation directories...${NC}"
# Create main installation directory
mkdir -p $INSTALL_DIR
mkdir -p $INSTALL_DIR/logs
mkdir -p $INSTALL_DIR/public/js
mkdir -p $INSTALL_DIR/public/css
mkdir -p $INSTALL_DIR/modules
# Create directory for file storage
mkdir -p $INSTALL_DIR/data
echo -e "${GREEN}Directories created successfully.${NC}"
}