UpsBoard. Usenet + Plex Stats

UpsBoard: Usenet + Plex + Stats Board (Version 0.2.1)

I got inspired by ryanc's work, Network Status Page, and I created my own version. I call it UpsBoard, which stands for Usenet + plex + stats Board. UpsBoard allows you to monitor your Usenet services (SABnzbd+, Sick Beard, & CouchPotato), Plex, & your system (CPU Usage, Memory Usage, Bandwidth Usage, & Disk Space Usage). This is a work in progress! A lot of features have not been developed yet, so they don't work. Basically anything related to the user features.

This is built with Node.js and currently only works on Linux operating systems. I am planning to include Mac's and Windows later.

Demo Page - Download Now (GitHub)
 
Requirements: (As of right now)

Optional:

Getting Started

How to Install Node.js

How to Install GraphicsMagicks

How to Install UpsBoard

  • Run the following command. This will install the required dependencies that this application needs.
    npm install
  • Rename config.js-sample to config.js
  • Edit the config file, config.jswith all your service details, api keys, username, passwords, ect...

Features Coming Soon

  • Auto start app on system boot
  • User Account
  • Control Sicbeard
  • Control Couchpotato
  • Control Sabnzbd
  • Make the panels module.
  • Multiple User Accounts
  • Administration Panel
  • Allow to customize the modules around.

I'm open for requests or ideas :-)

Latest Changes

 

0.2.1 - 5/29/2014

Updated:

Updater now runs every 12 hours and it can be disabled in the config.js file.

 
0.2.0 - 5/29/2014
New:
Updater. This feature will check github every 12 hours to see if there has been an update. If there has been the logged in user will see a notice on their web browser to update UpsBoard.
Fixed:
Fixed the 'currently' weather bug.
Fixed the logged in user bug that would crashing the app.
 
0.1.1 - 4/29/2014
Added:
Added a warning to the startup if GraphicsMagick is not installed. If GraphicsMagick is not installed then the images do not get resized before sending to user's browsers.
Fixed:
Changed bcrypt to bcrpyt-nodejs, this does not require bcrypt to be complied and installed.
Fixed the css for firefox.

Note: If you are updated from 0.1.0, then you would need to run the following commands.

npm uninstall bcrypt
npm install bcrypt-nodejs
0.1.0 - 4/23/2014
New:
User Account. In a future release, you'll be able to have multiple user accounts.
SABnzbd! A semi-fully functional SABnzbd client. There are two things that I'm still working on, setting the download speed and adding a nzb file to sab. These will come in a future release.
Updated:
TV Shows Airing Soon module has been updated with a new look.
Updated Memory to allow for multiple servers. Cpu is going to be in another release.
Converted all the javascript files into requirejs format. This is the beginnings of making the panels modularized and customizable.
Updated the code for express 4.0
 
There are probably plenty other changes that I can't remember right now but it's here.

I like the design. Is it running on a Mac? Can we get it?

Thanks.

Hello,
I got inspired by ryanc's work, Network Status Page, and I created my own version. I call it UpsBoaed, which stands for UUsenet + pPlex + stats Board. It has a lot of useful information all on one page.

Demo Page

I'm away from my computer right now but when I get back I'll post the source and add more information to this post.

Very nice and original. I must have missed ryanc's work because i havent seen anything like this for Plex :-) 

I like the design. Is it running on a Mac? Can we get it?

Thanks.

As a right now, it doesn't run nice on Mac. I hope to have it soon tho.

If you need help with some of this, let me know. My day job is a linux sysadmin, just not too familiar with node.js. I'm lovin how this looks so far. 

Thanks!

Thanks for having a look for me and looking forward for the Mac version to be running soon.  Brilliant job!

Hi,

I managed to make it (partially) running on OSX.

Here are the steps:

Install vnstat

Install node.js

Once node.js installed, run the following command:

npm install express stylus nib async express-uglify request when underscore moment xml2js ssh2 jade os-utils

Then, I had to disable the 

getMemory()

function, line 9 of routes/stats.js, and to disable also

minutelySummary: body.minutely.summary

line 116, in the same file.

I'll tell you later how to make vnstat and UpStatsBoard launch at startup.

And I'll try to figure out the getMemory() issue.

Issues:

I cannot get the posters from sickbeard:

D1qF6.jpg

Bandwidth is not workin. I have a "Server offline" message. I'm sure it has worked but cannot understand why it is not currently.

I'll tell you later how to make vnstat and UpStatsBoard launch at startup.

Concerning vnstat, you'll find everything here.

  • To make UpStatsBoard launches at startup, do the following:
  • Create local.usb.plist file with following code
  • <?xml version="1.0" encoding="UTF-8"?>
    
    
    
      KeepAlive
      
      Label
      local.usb
      ProgramArguments
      
        /usr/local/bin/node
        app
      
      RunAtLoad
      
      WorkingDirectory
      /Users/yourUsername/UpStatsBoard
    
    
  • Put it in 
  • /Library/LaunchDaemons
  • Run 
  • sudo chown root:wheel local.usb.plist
  • Run 
  • sudo launchctl load -w /Library/LaunchDaemons/local.usb.plist

Bandwidth is not working. I have a "Server offline" message. I'm sure it has worked but cannot understand why it is not currently.

That's because vnstat is called without absolute path. I'm sure Matt will correct that in future versions. In the meanwhile, edit

libs/Bandwidth.js

and replace all occurences (lines 141 and 170).

vnstat

by

/opt/local/bin/vnstat

Hi,

I managed to make it (partially) running on OSX.

Here are the steps:

Install vnstat

Install node.js

Once node.js installed, run the following command:

npm install express stylus nib async express-uglify request when underscore moment xml2js ssh2 jade os-utils

Then, I had to disable the 

getMemory()

function, line 9 of routes/stats.js, and to disable also

minutelySummary: body.minutely.summary

line 116, in the same file.

I'll tell you later how to make vnstat and UpStatsBoard launch at startup.

And I'll try to figure out the getMemory() issue.

Issues:

I cannot get the posters from sickbeard:

D1qF6.jpg

Bandwidth is not workin. I have a "Server offline" message. I'm sure it has worked but cannot understand why it is not currently.

I also had to comment out "minutelySummary: body.minutely.summary" and install the additional packages, but did not need to comment out getmemory and my posters are showing.

To have this run as a daemon in Ubuntu and autostart at boot:
 
1. Install forever
sudo npm -g install forever
 
2. Create a upstart script ups.conf with following contents
start on startup
exec forever start /full/path/to/app.js
 
 3. Place it in /etc/init
 
 4. Make the file executable
 
sudo chmod 755 /etc/init/ups.conf
 
 5. Start it.
 sudo start ups

That's it.  :)

Editing out double post

but did not need to comment out getmemory and my posters are showing.

How can you get memory while it uses "free" command which is not available (natively) in OSX?

Concerning my posters, they were not appearing in Sickbeard neither. I had to update PIL python library, to solve the problem in Sickbeard. But it remains in USB.

Edit: I had just to delete the content of cache/sickbeard to fix the problem.

Now, it's ok.

I also had to comment out "minutelySummary: body.minutely.summary" and install the additional packages, but did not need to comment out getmemory and my posters are showing.


I'm curious why you had to comment out minutelySummary. What is the latitude and longitude are? Feel free to pm those details.

As for the additional packages, what additional packages did you have to install? The command should have installed everything needed.
npm install

I'm curious why you had to comment out minutelySummary. What is the latitude and longitude are? Feel free to pm those details.

In my case: 48.9068,2.2450
And, just by curiosity, why are you naming it minutelySummary while it concerns the hourly forecast? :)

In my case: 48.9068,2.2450
And, just by curiosity, why are you naming it minutelySummary while it concerns the hourly forecast? :)

Thank you,

Just as I thought the data block minutely is in your location. I have fix the code to allow for this to be missing. As to why I named it minutelySummary, I'm lazy :) I just took the name straight from Forecast.io's api. As they example on their developers page, they are aware that it is not proper English and they are not will to change it. :/ So to keep everything aligned, I decided to just keep the same naming scheme.

44.1677, -94.0034 for me.  
 
I had to install these packages - express stylus nib async express-uglify request when underscore moment xml2js ssh2 jade os-utils.
 
 
@Radar.. sorry I am running Ubuntu 12.04.  Not OSX.. missed that part.
To have this run as a daemon in Ubuntu and autostart at boot:
 
1. Install forever
sudo npm -g install forever
 
2. Create a upstart script ups.conf with following contents
start on startup
exec forever start /full/path/to/app.js
 
 3. Place it in /etc/init
 
 4. Make the file executable
 
sudo chmod 755 /etc/init/ups.conf
 
 5. Start it.
 sudo start ups

That's it.  :)

I get "unknown job: ups" when I run "sudo start ups"

I get "unknown job: ups" when I run "sudo start ups"

That's odd, it just sort of worked for me on my Ubuntu install. Is the file in /etc/init and named ups.conf? Also, check file permissions and ownership. It may need to be owned by root.

It is owned by root and has the same file permissions as the other .conf files in /etc/init