Mastodon

Monday 23 November 2015

Sickrage & Couchpotato

I've split these instructions into their own section just to make it easier to understand. We're going to go through the installation of Sickrage and Couchpotato on Ubuntu 14.04 using command line only to reduce the resources needed on the machine.

Let's get started with the installation of  Sickrage:


sudo apt-get install git-core python python-cheetah
cd ~


sudo git clone https://github.com/SickRage/SickRage.git /opt/sickrage
sudo cp /opt/sickrage/runscripts/init.ubuntu /etc/init.d/sickrage
sudo chmod +x /etc/init.d/sickrage

sudo chown username:username -R /opt/sickrage




Time to edit a config file:

sudo nano /etc/default/sickrage

Now paste this lot in changing user to the name of the user you are installing it to



# COPY THIS FILE TO /etc/default/sickrage
SR_HOME=/opt/sickrage
SR_DATA=/opt/sickrage/
SR_USER=username

Set some permission

sudo chmod +x /etc/default/sickrage

Now time to get it running on boot

sudo update-rc.d sickrage defaults

And you can start it with the following command and then connect to http://machine:8081 to finish off setting it up.

sudo chmod 0777 /var/run/sickrage

sudo service sickrage start


And now it's time for Couchpotato:

sudo git clone https://github.com/RuudBurger/CouchPotatoServer.git /opt/CouchPotato

Set the owner of the file, replacing username with your username

sudo chown -R username:username /opt/CouchPotato

Edit a config file

sudo nano /etc/default/couchpotato

Then paste this lot in replacing username again

CP_HOME=/opt/CouchPotato
CP_USER=username
CP_PIDFILE=/home/username/.couchpotato.pid
CP_DATA=/opt/CouchPotato

Now we set permissions and get it to run on startup

sudo cp /opt/CouchPotato/init/ubuntu /etc/init.d/couchpotato
sudo chmod +x /etc/init.d/couchpotato
cd /etc/init.d/
sudo update-rc.d couchpotato defaults

And finally start it with sudo service couchpotato start

Now connect to it with a browser at http://machinename:5050 to finish the setup.






Thursday 12 November 2015

SabNZB setup on Ubuntu

To be honest, this is really very easy. we start by opening a terminal onto the machine we are going to install the package onto and type:

sudo apt-get install sabnzbdplus


Now we edit one of the config files:

sudo nano /etc/default/sabnzbdplus


USER=root
# The Host one can be 0.0.0.0 if you only have one IP address
HOST=0.0.0.0
# Change this to another port if 8080 is already in use.
PORT=8082


Then we make it executable:

sudo chmod +x /etc/init.d/sabnzbdplus


Then we restart the service

sudo service sabnzbdplus restart

Once this has finished point your browser to http://ipaddress:8082 and finish setting it up, you will need a usenet provider, I use newsdemon myself.

Deluge Torrent Client on Ubuntu

In my efforts to simplify my instructions, I've decided to rewrite my instructions for the installation of the Deluge client on Ubuntu.

It is quite straightforward and all this tasks are carried out via an ssh connection.

So let's get started with:

sudo apt-get update
sudo apt-get install deluge-console deluged deluge-web

Now we make deluge run on startup, create a file with:

sudo nano /etc/default/deluge-daemon

And then enter this text:


####################
# Configuration for /etc/init.d/deluge-daemon

# The init.d script will only run if this variable non-empty.
DELUGED_USER="username"             # !!!CHANGE THIS!!!!

# Should we run at startup?
RUN_AT_STARTUP="YES"
#####################

Save the file and then it's time to create another one with:

sudo nano /etc/init.d/deluge-daemon

Paste the following text into the file


####################################################

#!/bin/sh
### BEGIN INIT INFO
# Provides:          deluge-daemon
# Required-Start:    $local_fs $remote_fs
# Required-Stop:     $local_fs $remote_fs
# Should-Start:      $network
# Should-Stop:       $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Daemonized version of deluge and webui.
# Description:       Starts the deluge daemon with the user specified in
#                    /etc/default/deluge-daemon.
### END INIT INFO

# Author: Adolfo R. Brandes 
# Updated by: Jean-Philippe "Orax" Roemer

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="Deluge Daemon"
NAME1="deluged"
NAME2="deluge"
DAEMON1=/usr/bin/deluged
DAEMON1_ARGS="-d"             # Consult `man deluged` for more options
DAEMON2=/usr/bin/deluge-web
DAEMON2_ARGS=""               # Consult `man deluge-web` for more options
PIDFILE1=/var/run/$NAME1.pid
PIDFILE2=/var/run/$NAME2.pid
UMASK=022                     # Change this to 0 if running deluged as its own user
PKGNAME=deluge-daemon
SCRIPTNAME=/etc/init.d/$PKGNAME

# Exit if the package is not installed
[ -x "$DAEMON1" -a -x "$DAEMON2" ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$PKGNAME ] && . /etc/default/$PKGNAME

# Load the VERBOSE setting and other rcS variables
[ -f /etc/default/rcS ] && . /etc/default/rcS

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

if [ -z "$RUN_AT_STARTUP" -o "$RUN_AT_STARTUP" != "YES" ]
then
   log_warning_msg "Not starting $PKGNAME, edit /etc/default/$PKGNAME to start it."
   exit 0
fi

if [ -z "$DELUGED_USER" ]
then
    log_warning_msg "Not starting $PKGNAME, DELUGED_USER not set in /etc/default/$PKGNAME."
    exit 0
fi

#
# Function to verify if a pid is alive
#
is_alive()
{
   pid=`cat $1` > /dev/null 2>&1
   kill -0 $pid > /dev/null 2>&1
   return $?
}

#
# Function that starts the daemon/service
#
do_start()
{
   # Return
   #   0 if daemon has been started
   #   1 if daemon was already running
   #   2 if daemon could not be started

   is_alive $PIDFILE1
   RETVAL1="$?"

   if [ $RETVAL1 != 0 ]; then
       rm -f $PIDFILE1
       start-stop-daemon --start --background --quiet --pidfile $PIDFILE1 --make-pidfile \
       --exec $DAEMON1 --chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK -- $DAEMON1_ARGS
       RETVAL1="$?"
   else
       is_alive $PIDFILE2
       RETVAL2="$?"
       [ "$RETVAL2" = "0" -a "$RETVAL1" = "0" ] && return 1
   fi

   is_alive $PIDFILE2
   RETVAL2="$?"

   if [ $RETVAL2 != 0 ]; then
        sleep 2
        rm -f $PIDFILE2
        start-stop-daemon --start --background --quiet --pidfile $PIDFILE2 --make-pidfile \
        --exec $DAEMON2 --chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK -- $DAEMON2_ARGS
        RETVAL2="$?"
   fi
   [ "$RETVAL1" = "0" -a "$RETVAL2" = "0" ] || return 2
}

#
# Function that stops the daemon/service
#
do_stop()
{
   # Return
   #   0 if daemon has been stopped
   #   1 if daemon was already stopped
   #   2 if daemon could not be stopped
   #   other if a failure occurred

   start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --user $DELUGED_USER --pidfile $PIDFILE2
   RETVAL2="$?"
   start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --user $DELUGED_USER --pidfile $PIDFILE1
   RETVAL1="$?"
   [ "$RETVAL1" = "2" -o "$RETVAL2" = "2" ] && return 2

   rm -f $PIDFILE1 $PIDFILE2

   [ "$RETVAL1" = "0" -a "$RETVAL2" = "0" ] && return 0 || return 1
}

case "$1" in
  start)
   [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME1"
   do_start
   case "$?" in
      0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
      2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
   esac
   ;;
  stop)
   [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME1"
   do_stop
   case "$?" in
      0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
      2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
   esac
   ;;
  restart|force-reload)
   log_daemon_msg "Restarting $DESC" "$NAME1"
   do_stop
   case "$?" in
     0|1)
      do_start
      case "$?" in
         0) log_end_msg 0 ;;
         1) log_end_msg 1 ;; # Old process is still running
         *) log_end_msg 1 ;; # Failed to start
      esac
      ;;
     *)
        # Failed to stop
      log_end_msg 1
      ;;
   esac
   ;;
  *)
   echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
   exit 3
   ;;

esac


#########################################

I don't understand it but as long as you can copy and paste you don't need to either.


Now we set the file permissions:


sudo chmod 755 /etc/init.d/deluge-daemon
sudo chmod 0777 -R -v ~/.config


And then we make it run on startup:

sudo update-rc.d deluge-daemon defaults



We can then start it with this command:

sudo invoke-rc.d deluge-daemon start


And stop it with this command:

sudo invoke-rc.d deluge-daemon stop


You should now be able to access it with http://machinename:8112


Tuesday 23 June 2015

How to start a van

Today, I had to hire a van locally. I picked it up from a company called Brisco WIlliams, no problems at all with the vehicle and it behaved impeccably. The only issue I had was the instructions I was given. Basically, to start the van I had to depress the clutch, so I got in the van, put the keys in the ignition and made a start. I told the clutch that although it was a nice day, it had forecast rain for the weekend. I turned the key and nothing happened. I then told the clutch that on this gorgeous hot sunny day I was going to make it work hard going up and down the hills in mid Wales, still nothing. Then I I decided to get personal, I told the clutch that it was only there because the makers couldn't be bothered fitting an automatic gearbox, nothing, I told it that it was a waste of floor space as the other pedals either made the van go faster or slower, nothing happened.

This was it, I had reached a breaking point and decided that I was going to get physical, I warned the clutch that I would stamp on it as if it were an insignificant insect on the floor, turned the key and sod all happened. That's when I lost it and stamped on it with all my night shouting out that it's mother was a hamster and it's father smelled of elderberries, I turned the key and it started.

That was when  realised that I may have got the wrong end of the stick when the gentleman at the van hire place said I had to depress the clutch to start it.

Sunday 15 March 2015

Goodbye to Tech Support

For many years I have worked in the "Customer Service" side of home technology and I'd now like to say that I have happily moved away from it. The main reason behind this is the public, they are with the odd exception a complete and utter pain in the arse.

To give you an idea, I have had calls from people that can't access their wireless network when they are 200 miles away from home. People who think that the blue screen of death on their computer is because their broadband is broken, people who blame their ISP as their computer has a virus. People who say their broadband is running slow who have a Windows XP machine with 256Mb of RAM and no hard drive space, people who insist that their wireless is faulty as the range has gone down or the speed has decreased. And one of my favourites, I have 5 devices that connect but my new laptop won't the broadband must be faulty.

All the above are generally down to faults with anything other than broadband. You, the public, believe that a broadband provider will fix anything to do with your computer, would you take your car to a petrol station if your gearbox went faulty, no. But, the public in general has made it so hard and is so demanding that they expect their ISP to fix anything and everything and they expect their monthly charges to go down and speeds to go up.

I really used to enjoy providing tech support and fixing things but now I can safely say I have never been happier.