An automated installation script for setting up a complete media server stack on Linux systems. This script simplifies the installation and configuration of popular media management applications.
-
Limited RAM Systems: If your system has limited RAM (less than 4GB), install applications one by one rather than all at once to prevent system instability.
-
Beta Features: FlareSolverr and Overseerr integrations are currently in testing phase. Use these features at your own risk as they may contain bugs or unexpected behavior.
- One-click installation of multiple media server applications
- Automatic service configuration and management
- Secure default settings
- User and group permission management
- Systematic backup and restore functionality
- Interactive menu interface
- Comprehensive logging
- Error handling and recovery
- System compatibility checks
Application | Description | Default Port |
---|---|---|
Jackett | Index aggregator/proxy | 9117 |
Sonarr | TV series management | 8989 |
Radarr | Movie management | 7878 |
Lidarr | Music management | 8686 |
Readarr | Book management | 8787 |
Prowlarr | Index manager | 9696 |
Bazarr | Subtitle management | 6767 |
qBittorrent-nox | Torrent client (headless) | 8080 |
FlareSolverr | Cloudflare bypass | 8191 |
Overseerr | Request management | 5055 |
- Debian-based Linux distribution (Ubuntu, Debian, etc.)
- Root/sudo access
- Supported architectures:
- x86_64 (AMD64)
- aarch64 (ARM64)
- armv7l (ARM32)
- Minimum 2GB RAM
- 20GB available disk space
# Download the installer
wget -O - https://raw.githubusercontent.com/hhftechnology/media-server/main/get-hhf-installer.sh | sudo bash
# Run the installation script
sudo hhf-media-install
- Clone the repository:
git clone https://github.com/hhftechnology/media-server.git
- Make the script executable:
chmod +x get-hhf-installer.sh
- Run the installer:
sudo ./get-hhf-installer.sh
The installation script provides an interactive menu with the following options:
- Install ALL applications
- Individual application installation
- Custom installation combinations
- Remove ALL applications
- Individual application removal
- Clean uninstallation with configuration removal
- Show active services
- Display default ports
- Show application sources
- System status monitoring
- Backup management
- Restore from backup
- Script updates
- Exit
Default installation paths:
- Application binaries:
/opt/<ApplicationName>
- Configuration files:
/var/lib/<application>/.config/<ApplicationName>
- Download directory (qBittorrent):
/var/lib/qbittorrent-nox/Downloads
Default credentials:
- qBittorrent WebUI:
- Username:
admin
- Password:
adminadmin
- Username:
The script implements several security measures:
- Creates dedicated service users for each application
- Establishes a media group for shared access
- Sets appropriate file permissions
- Uses systemd service isolation
- Configures secure default settings
- Installation logs:
/var/lib/hhf-installer/install.log
- State tracking:
/var/lib/hhf-installer/install_state
- Backup directory:
/var/lib/hhf-installer/backups
The script automatically creates backups before major operations. Manual backups can be created through the maintenance menu.
Use the maintenance menu to restore from the most recent backup or specify a particular backup to restore.
Common issues and solutions:
-
Service fails to start
- Check logs:
journalctl -u <service-name>
- Verify permissions:
ls -l /opt/<ApplicationName>
- Ensure ports are available:
netstat -tulpn
- Check logs:
-
Permission Issues
- Verify user/group membership
- Check directory permissions
- Review service user settings
-
Network Access
- Confirm port availability
- Check firewall settings
- Verify network connectivity
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
If you encounter any issues or have questions:
- Check the Troubleshooting section
- Review the installation logs
- Open an issue on GitHub
- Join our community discussions
- Thanks to all the amazing projects that make this media server stack possible
- Community contributors and testers
- Open source software maintainers
This script is provided as-is. Always review scripts before running them with root privileges. Users are responsible for complying with all applicable laws and regulations regarding media consumption and distribution.