61 lines
1.9 KiB
Bash
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}"
|
|
}
|