This guide shows two methods of installing Jellyfin on termux
Note: only tested on aarch64/arm64
These steps are same for both methods:
- Update the repo
pkg update
- Install proot-distro and ffmpeg (ffmpeg is only required in Method 2)
pkg install proot-distro ffmpeg -y
- Install ubuntu and Login to it
proot-distro install ubuntu
proot-distro login ubuntu
- Update and upgrade the packages in ubuntu
apt update && apt upgrade -y
- .NET 7.0 workaround:
- Use nano (or editor of your choice) to make a file in
/etc/profile.d
nano /etc/profile.d/02-dotnet-fix.sh
- Paste the following to set the value of
DOTNET_GCHeapHardLimit
to1C0000000
(You might need to lower the value to get it to work):
export DOTNET_GCHeapHardLimit=1C0000000
- Save and exit nano by pressing
CTRL + x
theny
thenenter
- Make it executable
chmod +x /etc/profile.d/02-dotnet-fix.sh
- Logout and log back into proot
Method 1:
- Install sudo curl and gnupg
apt install sudo curl gnupg -y
-
Follow the step 2 to 6 in the official ubuntu installation guide for Jellyfin here
-
Create a symbolic link for Jellyfin web client (as it's in the wrong folder)
ln -s /usr/share/jellyfin/web /usr/lib/jellyfin/bin/jellyfin-web
- Run Jellyfin
jellyfin
- Note: if you get network related errors add
--nonetchange
parameter to jellyfin
- Give it a few minutes to finish startup then goto http://localhost:8096 to setup Jellyfin
Method 2:
- Install necessary packages (skip wget if you have it installed in termux, also replace
74
with the latest version of libicu)
apt install wget libicu74 libfontconfig1 ca-certificates -y
- Make a new folder in /opt by the name jellyfin and cd into it
mkdir /opt/jellyfin
cd /opt/jellyfin
- Download the latest generic linux build for your architecture from here with
wget
(make sure you download the correct architecture for you device)
wget https://repo.jellyfin.org/files/server/linux/latest-stable/arm64/jellyfin_10.10.6-arm64.tar.gz
- Extract it with tar
tar xvzf jellyfin_10.10.6-arm64.tar.gz
- Create four sub-directories for Jellyfin data
mkdir data cache config log
- Use nano to make a script to run Jellyfin
nano jellyfin.sh
- Paste the following:
#!/bin/bash
JELLYFINDIR="/opt/jellyfin"
$JELLYFINDIR/jellyfin/jellyfin \
-d $JELLYFINDIR/data \
-C $JELLYFINDIR/cache \
-c $JELLYFINDIR/config \
-l $JELLYFINDIR/log \
--ffmpeg /data/data/com.termux/files/usr/bin/ffmpeg
- Note: if you get network related errors add
--nonetchange
parameter to jellyfin in thejellyfin.sh
- Save and exit nano by pressing
CTRL + x
theny
thenenter
- Make it executable
chmod +x jellyfin.sh
- Run it
/opt/jellyfin/jellyfin.sh
- Give it a few minutes to finish startup then goto http://localhost:8096 to setup Jellyfin
Thanks to @vikoadi and @t-e-s-tweb for DOTNET_GCHeapHardLimit=1C0000000
and --nonetchange
fix
libcu70Where can I download the library