Follow the steps below to install the app on your personal Roku device for development.
Put your Roku device in developer mode. Write down your Roku device IP and the password you created, you will need these later.
Navigate to where you'd like to install the app then copy the application files:
git clone https://github.com/jellyfin/jellyfin-roku.git
Open up the new folder:
cd jellyfin-roku
sudo apt-get install wget make zip
make dev
This will create a zip in out/apps/Jellyfin_Roku-dev.zip
. Login to your roku's device in your browser and upload the zip file then run install.
Run this command - replacing the IP and password with your Roku device IP and dev password from the first step:
export ROKU_DEV_TARGET=192.168.1.234
export ROKU_DEV_PASSWORD=password
Normally you would have to open up your browser and upload a .zip file containing the app code. These commands enable the app to be zipped up and installed on the Roku automatically which is essential for developers and makes it easy to upgrade in the future for users.
Package up the application, send it to your Roku, and launch the channel:
make install
Note: You only have to run this command once if you are not a developer. The Jellyfin channel will still be installed after rebooting your Roku device.
Did the app crash? Find a nasty bug? Use the this command to view the error log and report it to the developers:
telnet ${ROKU_DEV_TARGET} 8085
To exit telnet: CTRL + ]
and then type quit + ENTER
Navigate to the folder where you installed the app then upgrade the code to the latest version:
git pull
Deploy the app:
make install
Read below and also checkout the Development Guide For New Devs
Modify code -> make install
-> Use Roku remote to test changes -> telnet ${ROKU_DEV_TARGET} 8085
-> CTRL + ]
-> quit + ENTER
Unfortunately there is no debuger. You will need to use telnet to see log statements, warnings, and error reports. You won't always need to telnet into your device but the workflow above is typical when you are new to Brightscript or are working on tricky code.
Testing is done with the Rooibos library. This works by including tests in the deployment and then looking at telnet for the test results.
Install necessary packages:
sudo apt-get install nodejs npm
Install rooibos-cli:
npm install -g rooibos-cli
Deploy the application with tests:
make test
View test results:
telnet ${ROKU_DEV_TARGET} 8085
To exit telnet: CTRL + ]
and then type quit + ENTER
This repo already contains all necessary images for the app. This script only needs to be run when the official Jellyfin images are changed to allow us to update the repo images.
Install necessary packages:
sudo apt-get install imagemagick
Download and convert images:
make get_images