How to install Deluge Seedbox on an Ubuntu VPS

Please contact us if you need support - we're here to help!


How to install Deluge Seedbox on an Ubuntu VPS



Though it is one of the newest seedbox Web UIs, Deluge has proven to be a tested favorite among seeders. Deluge offers one of the most polished and efficient graphical front-ends, and is often called the fastest seedbox VPS UI. This guide will walk you through the setup of a Deluge/deluge-web VPS based on Ubuntu (recommended for 10.04 or above). We have 2GB RAM Ubuntu VPS for only $19.99 if you need one for running deluge.

Access your VPS as the root user via SSH, and run the following commands:

 

# adduser --disabled-password --system --home /var/lib/deluge --gecos "Deluge server" --group deluge

# touch /var/log/deluged.log

# touch /var/log/deluge-web.log

# chown deluge:deluge /var/log/deluge*

Install Deluge:

# apt-get update && apt-get upgrade

# apt-get install deluge-common deluged deluge-web

Open the deluge-daemon file:

# vi /etc/default/deluge-daemon

Press "A" to enter edit mode, and copy in the following:

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

# The init.d script will only run if this variable non-empty.

DELUGED_USER="deluge"

# Should we run at startup?

RUN_AT_STARTUP="YES"

Press ESC, then type :wq and press enter to save and exit the file. Now we will create an init script for the Deluge daemon:

# vi /etc/init.d/deluge-daemon

Copy the following 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

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 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

start-stop-daemon --start --background --quiet --pidfile $PIDFILE1 --exec $DAEMON1 \

--chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK --test > /dev/null

RETVAL1="$?"

start-stop-daemon --start --background --quiet --pidfile $PIDFILE2 --exec $DAEMON2 \

--chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK --test > /dev/null

RETVAL2="$?"

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

 

start-stop-daemon --start --background --quiet --pidfile $PIDFILE1 --make-pidfile --exec $DAEMON1 \

--chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK -- $DAEMON1_ARGS

RETVAL1="$?"

sleep 2

start-stop-daemon --start --background --quiet --pidfile $PIDFILE2 --make-pidfile --exec $DAEMON2 \

--chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK -- $DAEMON2_ARGS

RETVAL2="$?"

[ "$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

 

:

Give the script proper permissions:

 

# chmod 755 /etc/init.d/deluge-daemon

# update-rc.d deluge-daemon defaults

You can now reboot your VPS; if everything worked, you will be able to access Deluge at http://xx.xx.xx.xx:8112 with the default password "deluge". Enjoy!

 



Article Name: How to install Deluge Seedbox on an Ubuntu VPS
Author:

Was this answer helpful?

Add to Favourites Add to Favourites    Print this Article Print this Article

Also Read








Knowledgebase

Search our Knowledgebase