Jellyfin Electron

I’ve thrown together a quick Electron app that simply wraps the Jellyfin web interface.
It is only just finished, so likely has some rough edges that will need some attention (especially on Windows and Linux which I have not tested yet).

It was written because I wanted to have media key and a separate dock icon (rather than hunt down the browser tab to control playback).
Hopefully it is a good base to add extra features & integrations.

Hopefully it’s readme has sufficient instructions to give it a try.
Feedback is welcome.

1 Like

Im not a developer, but want to support you’re project by testing on Linux Ubuntu. Currently using 16.04 - I hope soon to use 20.04.

The following command gives me an .zip that dosen’t work properly:

And you should mention people need to install npm (I knew, but still)…

My debug report:
npm run build
npm ERR! Linux 4.15.0-96-generic
npm ERR! argv “/usr/bin/nodejs” “/usr/bin/npm” “run” “build”
npm ERR! node v4.2.6
npm ERR! npm v3.5.2

npm ERR! missing script: build

WHAT DID I DO:
wget https://github.com/JonEllis/jellyfin-electron/archive/master.zip
unzip master.zip
cd jellyfin-electron
npm run build

Thanks very much for the testing support. Sorry the instructions were bad. I liked how the Jelyfin theater electron repo separated out building for mac/linux/windows, so I did the same but forgot to update the docks.

Also a great idea for saying that npm is needed!

I followed my instructions on a different mac and I was able to get it built and connected to my Jellyfin server.

Would you mind having another go at it?

I know its difficult, im not a programmer, so i can only do the testing, but i’d happyly do that :wink:

It seems like it failed again:
npm run convert-icon

jellyfin-electron@1.0.0 convert-icon /home/username/jelly/jellyfin-electron-master
./convert-icon.sh

Converting logo to icns format
./convert-icon.sh: linje 29: /home/username/jelly/jellyfin-electron-master/node_modules/.bin/electron-icon-maker: Ingen sådan fil eller filkatalog
Failed

npm ERR! Linux 4.15.0-96-generic
npm ERR! argv “/usr/bin/nodejs” “/usr/bin/npm” “run” “convert-icon”
npm ERR! node v4.2.6
npm ERR! npm v3.5.2
npm ERR! code ELIFECYCLE
npm ERR! jellyfin-electron@1.0.0 convert-icon: ./convert-icon.sh
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the jellyfin-electron@1.0.0 convert-icon script ‘./convert-icon.sh’.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the jellyfin-electron package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! ./convert-icon.sh
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs jellyfin-electron
npm ERR! Or if that isn’t available, you can get their info via:
npm ERR! npm owner ls jellyfin-electron
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! /home/username/jelly/jellyfin-electron-master/npm-debug.log

Thanks for persevering.

I’ve had a play with various npm versions in a 16.04 docker container using nvm.

It seems that when you npm install npm install https://github.com/jellyfin/jellyfin-web.git on a mac, you get dist and src directories containing various assets I use.
If you do the same on linux, you don’t get them. Yay.

I’ll have a look tomorrow, I’ve alraedy spent a lot of my evening npm bashing.

Yes it’s time consuming, but i really wish for you to success with it (Mostly because i REALLY need it) :wink:

May i ask, what about using appimage? Isnt that supported on multi-systems or?

Just to keep things updated, I’ve had a look at this and created a Github issue on their repo.
I’m really hoping it’s not just me overlooking something simple.
I’ll make a way to work around it in the near future (probably tomorrow evening).

I shall have a look at appimage.
It’s an Electron app because the vast majority of the app is simply rendering the Jellyfin web interface. I believe that once I’ve sorted out this dependency issue (I literally use less than 10 files from the jellyfin-web repository to make the rest of the UI match the Jellyfin interface).

I could probably uplaod the build Electron apps to Github for the 3 major platforms.
I had sort of assumed that they wouldn’t be wanted until some more Jellyfin developers had taken a look at it to ensure it was legit and not some malware in disguise - or something.

Right, I have made progress, and can now build Jellyfin Electron in a docker container.

I’ve switched to use yarn because that is what jellyfin-web use, so it made sense to use the same tool to build both rather than requiring both.
To get around the problem with the lack of usable code, yarn install at least gives us the src directory, and I can build it from there.

The readme has been updated now with newer instructions.

Good luck!

Good news!

I have the this Jellyfin Electron app building and runing under Ubuntu 20.04.
I’ll test it on Windows soon too.

Cool! I’ll mention a couple things after checking the readme quickly.

React-Native is dead in the water for us at the moment. We were going to use it but were waiting for the API re-write, which depended on our database re-write, etc.

The database stuff is finally going through, but we’ve lost some of the need for RN as we used to. It doesn’t do Apple TV/tvOS anymore, for example. Instead, we’re working more towards native apps as much as possible, and a better -web interface so it can be wrapped where needed.

The -Theatre application is finally starting to move a bit, but we’ll see how that ends up. We welcome alternatives!

Thanks for the info.

I did see that someone had started working on the now Jellyfin Desktop repo.
If the only thing that is missing for kescba and me is the media key support, it’ll be pretty easy to add it to the Jellyfin Desktop app instead.

If my version is useful until Jellyfin Desktop is ready I’m happy to continue to improve it where it’s needed.

I’ll show my face on the Riot chat once I’ve got it tested a bit more across platforms.