Code Monkey home page Code Monkey logo

jellyfin-roku's Introduction

Jellyfin app for Roku

This app is not complete!

Currently, the data stored on your Roku device are server name, server port, user id, and some user preferences like movie sort order.

The format that is used to save those settings could change at any time and your data could be lost and you'd have to re-enter it.

Getting Started

You can install the Jellyfin BETA Roku App by clicking here

Developing The Jellyfin Roku App

Follow the steps below to install the app on your personal Roku device for development.

Developer Mode

Put your Roku device in developer mode. Write down your Roku device IP and the password you created, you will need these later.

Clone the GitHub Repo

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

Install Necessary Packages

sudo apt-get install wget make

Login Details

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.

Deploy

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.

Bug/Crash Reports

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

Upgrade

Navigate to the folder where you installed the app then upgrade the code to the latest version:

git pull

Deploy the app:

make install

Developer Setup

Read below and also checkout the Development Guide For New Devs

Workflow

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

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

(Optional) Update Images

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.