Porthole

A window into the status of multiple services related to Plex Media Server (Plex, Couchpotato, Sickrage, Deluge, Sabnzbd+, etc.).

Porthole

Version 1.0.0

Build Status
Coverage Status
Gitter
Donate

What is Porthole? Put simply, it is a dynamic dashboard for checking the status of multiple services related
to Plex Media Server (Plex, Couchpotato, Sickrage, Deluge, Sabnzbd+, etc.).

This is a continuation of the Plex-Board project I started a few years ago which
was essentially a revamp of a cool project (Network-Status-Page) I had forked a while ago.

Just for clarification, yes this is another Plex dashboard, but this project is different and I’ll tell you why.

PlexWatchWeb and PlexPy
are projects oriented more towards statistics etc.

Porthole is meant to help the users and administrators of a Plex server get a quick overview on the
status of the various services related to, and including Plex itself.
There’s a large list of features I plan to support in the future and I take all requests into consideration.
If there is something you’d like to see, feel free to chat about it on
Gitter, or create a feature request ticket.

Here are a few screenshots of Plex-Board v0.4.2 (the last major UI update before the project rename):
Now-Playing

Recently Added

All Services Panel

Plex Token Authentication

Modal dialog boxes!

System Requirements

You should have enough space to allow logs and an image cache, so I wouldn’t recommend using on a system with less than 1GB free HDD space.

Rails can probably run on 512MB of RAM fine and CPU usage will vary. You can probably get away with a single core, but dual core may run smoother.

It will run on the original Raspberry Pi B+ which is pretty neat.

Installation Instructions

Other supported systems:

Ubuntu 16.04 LTS

These instructions have been tested on a fresh install of Ubuntu 16.04 LTS using bash as of 9/13/2017.
(I haven’t tested this yet since the rename, I’ll do this soon!)

  1. sudo apt-get update && sudo apt-get install git bundler nodejs curl software-properties-common -y && sudo apt-add-repository -y ppa:rael-gc/rvm && sudo apt-get update && sudo apt-get install rvm -y

  2. Log out of your account and then log back in. Yes, log out, don’t just close the terminal.

    This is because your user has just been added to the rvm group and a bunch of scripts
    have to run which only check your group on login.

    You could even reboot if you really feel like it.

  3. cd /opt
    You might have to give your user write permissions to this directory.
    If that is the case run:
    sudo chmod 777 /opt -R

  4. git clone https://github.com/Porthole-Project/Porthole.git

  5. rvm install ruby-2.4.2

    If you get a message saying something like:
    RVM is not a function, selecting rubies with 'rvm use ...' will not work.
    or
    No command 'rvm' found, but there are 26 similar ones
    Then you’ll have to run:
    /bin/bash --login
    and then try again. This is because rvm needs am interactive login shell
    instead of the non-interactve shell that gnome normally provides.

    See https://github.com/rvm/ubuntu_rvm for more details.

    Also, installing ruby could take a while since it has to compile from source, you might want to get some coffee.

  6. cd /opt/Porthole

  7. ./serverSetup.sh

  8. Check the newly created server_config.yml file to see that all the settings match what you want them to.
    If you’re not running behind a reverse proxy then you shouldn’t need to touch this file at all.

  9. Porthole should now be installed!

Running Instructions

  1. ./startServer.sh
    If you get an error that looks like:
    Address family not supported by protocol - socket(2) for "::1" port 3000 (Errno::EAFNOSUPPORT)
    You can either disable IPv6 for your OS or edit the server_config.yml to use a specific IP address on your system e.g.
    192.168.0.102
    See the server_config.yml file for more details.

  2. ./stopServer.sh will stop the server.

Auto-start instructions coming soon.

Updating Instructions

  1. ./update.sh Will run git pull and serverSetup.sh for you.

If you have issues

  1. Read the CHANGELOG.md to make sure you haven’t missed any important changes!
    I try to keep breaking changes to a minimum but sometimes it just isn’t possible.
    Any time this happens the changelog will detail what the change is and how to fix it.

  2. Create an issue if you are having trouble.
    Or you can ping me on Gitter
    and I’ll help you out!

This project is not ready for real production use yet, so don’t expect stability until a 1.0.0 release.

Then when things break you can yell at me and use this readme as an excuse.

Feedback

If you run into any bugs, please, make a ticket or ask in the
Gitter chat room.
I’m sure I’ll miss something in my testing so feel free to let me know what I overlooked.
Since I work on this project in my free time, I can’t always respond to chats immediately but I’ll do the best I can to get back to you within the day.