Skip to content

Boss17536/android-media-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

Android Media Server Guide: Jellyfin, Radarr, Sonarr, and Prowlarr 🚀

Welcome to the definitive guide on converting an old Android smartphone into a powerful, automated media server! This project focuses on utilizing Termux to run a Linux environment, deploying Jellyfin for streaming, and establishing a robust automation pipeline using Sonarr (for TV shows), Radarr (for movies), and Prowlarr (for indexer management).

This setup is highly resource-efficient and perfectly suited for older Android devices, breathing new life into your retired hardware.


🛠 Prerequisites

Before we start, ensure you have the following:

  1. An Old Android Device: Preferably with Android 8.0 or higher.
  2. F-Droid: Required for downloading the most updated version of Termux (do not use the Google Play Store version as it is outdated).
  3. Patience: Building a server out of a phone involves executing several commands and waiting for installations to finish.

📱 Step 1: Install and Configure Termux

Termux is an Android terminal emulator and Linux environment app that works directly with no rooting or setup required.

  1. Download and install F-Droid on your Android device.
  2. Search for Termux in F-Droid and install it.
  3. Open Termux and ensure your packages are up-to-date by running the following command:
pkg update && pkg upgrade -y
  • Explanation: pkg is the package manager for Termux. update refreshes the list of available packages, while upgrade installs the newer versions of installed packages. The -y flag automatically answers "yes" to any installation prompts, ensuring a smooth, unattended run.

🐧 Step 2: Install PRoot and Ubuntu Environment

Since Android has its own limitations, we install a lightweight Ubuntu environment using proot-distro to give us a proper Linux filesystem.

pkg install proot-distro -y
  • Explanation: This installs the proot-distro management utility, allowing us to easily install and manage different Linux distributions on Android without needing root access.

Install the Ubuntu distribution:

proot-distro install ubuntu
  • Explanation: This command downloads and installs the Ubuntu filesystem within Termux.

Log in to the newly created Ubuntu environment:

proot-distro login ubuntu
  • Explanation: This switches your current session into the Ubuntu environment. All further commands will be executed as if you are running an Ubuntu server.

⚙️ Step 3: Update Ubuntu & Install Dependencies

Once inside Ubuntu, we need to update our repositories and install some fundamental dependencies.

apt update && apt upgrade -y
  • Explanation: apt is the package manager for Ubuntu. Similar to the Termux update, this refreshes the package list and upgrades existing packages inside your Ubuntu PRoot.
apt install curl wget gnupg2 software-properties-common nano -y
  • Explanation:
    • curl & wget: Tools to download files from the internet from the command line.
    • gnupg2: Necessary for managing cryptographic keys (needed for adding official repositories).
    • software-properties-common: Provides utilities to manage independent software vendor repositories.
    • nano: A terminal-based text editor for editing configuration files.

🎥 Step 4: Install Jellyfin

Jellyfin is the open-source media streaming system.

  1. Add the Jellyfin GPG Key:
curl -fsSL https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | apt-key add -
  • Explanation: This securely downloads the cryptographic key belonging to the Jellyfin team and adds it to your system so your Ubuntu environment trusts software downloaded from them.
  1. Add the Jellyfin Repository:
echo "deb [arch=$( dpkg --print-architecture )] https://repo.jellyfin.org/ubuntu $(lsb_release -c -s) main" | tee /etc/apt/sources.list.d/jellyfin.list
  • Explanation: This line dictates where Ubuntu can look to download Jellyfin. It dynamically fetches your device architecture (e.g., heavily likely arm64 for an Android phone) and your Ubuntu codename, outputting a proper repository reference file into sources.list.d.
  1. Install Jellyfin:
apt update && apt install jellyfin -y
  • Explanation: This refreshes your package list to include Jellyfin, then initiates the installation of the jellyfin package itself.

🚀 Step 5: Install Prowlarr, Sonarr, and Radarr

The Arr software suite (Prowlarr, Sonarr, Radarr) is written in .NET Core. Thankfully, modern versions produce standalone binaries for ARM64 that we can simply extract and run.

Setup Prerequisites (libicu)

apt install libicu-dev -y
  • Explanation: The .NET runtime requires libicu (International Components for Unicode) natively to run properly on Ubuntu.

Installing Radarr (Movies Automation)

  1. Download Radarr ARM64 Binary:
wget -O radarr.tar.gz "https://radarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=arm64"
  • Explanation: wget fetches the direct download link for Radarr formatted specifically for Linux ARM64 systems. The -O radarr.tar.gz renames the incoming file.
  1. Extract Radarr:
tar -xvzf radarr.tar.gz -C /opt/
  • Explanation: tar extracts the downloaded archive. -xvzf tells tar to eXtract, display files in Verbose mode, act on a Zipped (gzip) file, from the provided Filename. -C /opt/ sets the destination folder to /opt/, which is conventional for optional add-on software.

(Repeat the download and extraction mechanism below for Sonarr & Prowlarr)

Installing Sonarr (TV Shows Automation)

wget -O sonarr.tar.gz "https://services.sonarr.tv/v1/download/main/latest?version=4&os=linux&arch=arm64"
tar -xvzf sonarr.tar.gz -C /opt/

Installing Prowlarr (Indexer Manager)

wget -O prowlarr.tar.gz "https://prowlarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=arm64"
tar -xvzf prowlarr.tar.gz -C /opt/

▶️ Step 6: Starting Your Media Server

Now that all programs are installed, you need to initiate them! For simplicity, you can run these background processes using the terminal utility screen or simply running them as background jobs (&).

1. Start Jellyfin:

service jellyfin start

Access Jellyfin physically from your browser at: http://localhost:8096 (or replace localhost with your phone's IP address).

2. Start Radarr:

/opt/Radarr/Radarr -nobrowser &

Access Radarr at: http://localhost:7878

3. Start Sonarr:

/opt/Sonarr/Sonarr -nobrowser &

Access Sonarr at: http://localhost:8989

4. Start Prowlarr:

/opt/Prowlarr/Prowlarr -nobrowser &

Access Prowlarr at: http://localhost:9696

(Explanation): Executing the binary file with -nobrowser stops the application from attempting to open a web browser internally. Adding an ampersand (&) at the very end tells Ubuntu to run this command stealthily in the background so you keep access to the current terminal prompt.


📝 Next Steps

  1. Create your Jellyfin User Account via http://[YOUR_PHONE_IP]:8096.
  2. Connect Prowlarr to your Indexers (Torrent Trackers/Usenet).
  3. Connect Prowlarr to Sonarr and Radarr securely via Prowlarr's Apps configuration.
  4. Set up an Android Download Client on your phone space (like Transmission, Flud, or qBittorrent via termux-x11) and link it!

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages