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!

 

  • 2 Users Found This Useful
Was this answer helpful?

Related Articles

How to Install RapidLeech v42 on a Debian or Ubuntu VPS

This guide will walk you through the installation of RapidLeech v42 r358 on a VPS running Debian...

Install nginx, MySQL, PHP (LEMP) stack on a CentOS 6 VPS

LEMP stack is a group of open source software to get web servers up and running. The acronym...

Virtualmin Getting Started Guide

After deploying one of the Bitronic Technologies Virtualmin templates we recommend the following...

How to Install RapidLeech v42 on a Debian or Ubuntu VPS

This guide will walk you through the installation of RapidLeech v42 r358 on a VPS running Debian...

How to Install Nginx with Yum on a CentOS VPS

Nginx (pronounced engine-x) is a free, open-source, high-performance HTTP server and reverse...